aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/dyncom
AgeCommit message (Collapse)Author
2016-06-10Revert "Split huge interpreter source file into translation info and ↵archshift
interpreter (+ some tiny misc style fixes)"
2016-06-08arm_dyncom_interpreter: rename operation functions to fit style guidearchshift
2016-06-08arm_dyncom_interpreter.cpp: Split by translation and interpreter logicarchshift
To facilitate the split, some small changes were made to names of various structures and functions.
2016-05-26Merge pull request #1568 from JayFoxRox/fix-printfMat M
Fix ftoi and disable VFPv3
2016-05-18Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSDJannik Vogel
2016-05-16Disable VFP3 instructionsJannik Vogel
2016-05-09dyncom: Reset the context into user mode correctlyLioncash
The other mode was system mode.
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner
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.
2016-04-09Fix BLX LR opcode interpretationmailwl
2016-04-08Update cpsr (T)humb bit while creating threadmailwl
2016-04-06Fix thumb ADR instruction alignmentmailwl
2016-04-05Merge pull request #1643 from MerryMage/make_uniqueMathew Maidment
Common: Remove Common::make_unique, use std::make_unique
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage
2016-03-30DynCom: Optimize single steppingMerryMage
2015-12-30arm_dyncom_dec: Fix decoding of VMLSLioncash
Previously, all VMLS variants would misdecode as CDP (which isn't necessarily wrong in itself, however VMLS has it's own label of execution)
2015-12-28dyncom: Handle modifying the APSR via an MRC instructionLioncash
2015-12-20dyncom: Remove PC dispatch from several instructionsLioncash
These instructions aren't capable of using the PC as a destination
2015-12-19dyncom: Handle unprivileged load/store variants correctlyLioncash
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
2015-12-06dyncom: Remove static keyword from header functionsLioncash
2015-12-06dyncom: const correctness changesLioncash
2015-10-11Remove unnecessary new lines, changed Deinit to Shutdownpolaris-
2015-10-04Use BreakpointAddress struct instead of passing address directlypolaris-
2015-10-04Implement gdbstubpolaris-
2015-09-05DynCom: Converted all 0xE condition code checks to ConditionCode::ALarchshift
2015-08-26dyncom: Simplify some comparisons in CondPassedLioncash
2015-08-25dyncom: Change return type of CondPassed to boolLioncash
2015-08-24Integrate the MicroProfile profiling libraryYuri Kunde Schlesner
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-13Merge pull request #1027 from lioncash/debuggerbunnei
debugger: Add the ability to view VFP register contents
2015-08-11ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the ↵Emmanuel Gil Peyrot
standard u?int*_t types.
2015-08-06arm_interface: Implement interface for retrieving VFP registersLioncash
2015-07-30Merge pull request #1008 from lioncash/pcbunnei
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-29dyncom: Remove an unused variableLioncash
This was used prior to InterpreterTranslate existing.
2015-07-29dyncom: Handle the case where PC is the source register for STR/VSTM/VLDMLioncash
2015-07-28dyncom: Handle left-operand PC correctly for data-processing opsLioncash
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).
2015-07-28dyncom: Remove an unnecessary typedefLioncash
2015-07-28dyncom: Use enum class for instruction decoding resultsLioncash
2015-07-27dyncom: Remove code duplication regarding thumb instructionsLioncash
2015-07-27dyncom: Migrate exclusive memory access control into armstateLioncash
2015-07-27dyncom: Remove duplicated typedef and externLioncash
These are already present in arm_dyncom_dec.h.
2015-07-26dyncom: Use std::array for register arraysLioncash
2015-07-26dyncom: Use ARMul_State as an objectLioncash
Gets rid of C-like parameter passing.
2015-07-25dyncom: Remove unnecessary initialization code.Lioncash
Targeting ARM version variants was only a thing on armemu. The reset routine also does basically the same thing as NewState.
2015-07-25dyncom: Remove unnecessary abort-related cruftLioncash
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25dyncom: Rename armdefs.h to armstate.hLioncash
2015-07-25dyncom: Get rid of skyeye typedefsLioncash
2015-07-25dyncom: Move helper functions to their own headerLioncash
2015-07-21dyncom: Pass SVC immediates directly.Lioncash
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-19dyncom: Properly retrieve the PC value in BX if used.Lioncash
2015-07-18Dyncom: Support for a missing ARMv6 Thumb MOV encodingYuri Kunde Schlesner
2015-07-16arm_dyncom_interpreter: Simplify assignment in SMLAWLioncash
Also a side-benefit of not having implementation-defined behavior.