summaryrefslogtreecommitdiffstats
path: root/src/core/arm/dyncom (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-04-20dyncom: Remove more unused/unnecessary codeLioncash1-6/+0
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-14Headers: Add some forgotten overrides, thanks clang!Emmanuel Gil Peyrot1-1/+1
2015-04-07dyncom: Remove unnecessary enum and typedefLioncash4-25/+30
Also fixes descriptions in the process.
2015-04-06arm_interface: Support retrieval/storage to CP15 registersLioncash2-0/+10
2015-04-06Move CP15 enum definitions into their own enum.Lioncash1-1/+0
Also gets rid of preprocessor mumbo-jumbo
2015-04-06dyncom: Suppress uninitialized variable warningsLioncash1-4/+4
The switch cases will always be hit, but this makes compilers stop complaining.
2015-04-02dyncom: Move CP15 register writing into its own function.Lioncash1-88/+2
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
2015-04-02dyncom: Move CP15 register reading into its own function.Lioncash1-44/+3
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
2015-03-26dyncom: Migrate InAPrivilegedMode to armsuppLioncash1-4/+0
It's a generic helper function, so it should be here anyway.
2015-03-24dyncom: Implement SRSLioncash1-1/+32
2015-03-24dyncom: Implement RFELioncash1-1/+30
2015-03-24dyncom: Remove unused/unnecessary macros and macro constantsLioncash2-39/+2
2015-03-17dyncom: Make Load/Store instructions support big endianLioncash1-52/+62
2015-03-16arm_interface: Get rid of GetTicks.Lioncash2-6/+0
Removes a TODO.
2015-03-15dyncom: Implement SETENDLioncash1-1/+35
2015-03-10dyncom: Minor cleanupLioncash1-26/+7
Assemblers will exit with an error when trying to assemble instructions with disallowed registers.
2015-03-09dyncom: Fix an indexing bug in STMLioncash1-5/+4
Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written.
2015-03-09dyncom: General cleanup of STMLioncash1-16/+14
2015-03-09dyncom: Increment addr when accessing LR in LDMLioncash1-0/+2
2015-03-02Add profiling infrastructure and widgetYuri Kunde Schlesner1-0/+8
2015-02-26arm: The CP15 Main ID register is not writeableLioncash1-3/+1
2015-02-22Cleaned up unaligned access.Kevin Hartman1-17/+2
2015-02-17dyncom: Support conditional BKPT instructionsLioncash2-2/+28
2015-02-16dyncom: Actually set the destination register for USAD8/USADA8.Lioncash1-0/+1
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-13core: Apply static to local functionsLioncash4-189/+195
2015-02-13arm: General cleanupLioncash5-94/+57
- Remove several typedefs for ARMul_State. - Remove unused functions - Remove unused/unnecessary headers - Removed unused enums, etc.
2015-02-13dyncom: Switch the app and system cores into the correct mode at initializationLioncash3-10/+15
2015-02-13dyncom: Clean up the constructorLioncash1-7/+4
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-13dyncom: Remove warning for SXTAHLioncash1-1/+0
This is tested to work correctly.
2015-02-12arm: Remove ARMul_EmulateInitLioncash1-6/+1
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-11arm: Get rid of some magic constants. Specify proper ARM mode.Lioncash1-2/+2
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift1-0/+1
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
2015-02-10arm_dyncom_thumb: Make lookup tables staticLioncash1-7/+7
These don't need to be recreated all the time.
2015-02-10dyncom: Add more regs to MCR/MRCLioncash1-17/+32
Adds the registers that were left out of some coprocessor ranges.
2015-02-10Scheduler refactor Pt. 1Kevin Hartman2-56/+11
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid for a thread at any given point in the system. * Removes dead code from thread.cpp. * Moves the implementation of resetting a ThreadContext to the corresponding core's implementation. Other changes: * Fixed comments in arm interfaces. * Updated comments in thread.cpp * Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp. * Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-03dyncom: Remove more unnecessary codeLioncash1-45/+3
2015-02-03core: Fix some warnings on OSXLioncash1-2/+4
2015-02-01arm: Clean up ARMul_StateLioncash1-6/+3
Remove unnecessary/unused struct variables.
2015-02-01arm: Adios armemuLioncash1-4/+0
2015-01-30dyncom: clean up arm_dyncom_dec.hLioncash1-43/+2
2015-01-30arm: Move headers over to pragma onceLioncash2-8/+2
2015-01-30arm: Get rid of armcpu.h and skyeye_types.hLioncash3-4/+0
2015-01-27dyncom: Minor cleanupLioncash1-126/+137
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-22dyncom: Minor cleanupLioncash1-282/+270
Removes some unused macros and cleans up indentation inconsistencies
2015-01-20dyncom: Clarify precedence for ternary statementsLioncash1-1/+1
2015-01-19dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etcLioncash1-7/+33
2015-01-17dyncom: Handle the ARM A2 encoding of STRT/LDRTLioncash1-10/+24
These were also missing the shifted register case.
2015-01-17dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.Lioncash1-17/+15
2015-01-12dyncom: Fix 32-bit ASR shifts for immediatesLioncash1-5/+3
2015-01-12dyncom: Remove unused flag macrosLioncash1-15/+3
2015-01-12dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoopLioncash1-97/+108
2015-01-12dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBCLioncash1-38/+41
Also cleans up CMN, and CMP.
2015-01-12dyncom: Add a helper function for addition with a carryLioncash1-12/+9
2015-01-12dyncom: Fix ADC overflow flag settingLioncash1-8/+12
2015-01-12dyncom: Fix conditional execution of MSRLioncash1-29/+31
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2-4/+5
2015-01-09DynCom: Add a comment to GetTicks.Subv1-0/+1
2015-01-09Timing: Use CoreTiming::GetTicks to keep track of ticks.Subv2-6/+2
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08dyncom: Fix UMAALLioncash1-4/+4
These need to be done as a 64-bit operation.
2015-01-07dyncom: Fix SMULWB/SMULWTLioncash1-10/+7
Wasn't doing proper sign-extension
2015-01-07CoreTiming: Ported the CoreTiming namespace from PPSSPPSubv1-1/+7
Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing.
2015-01-07dyncom: Fix SWPBLioncash1-0/+1
2015-01-07dyncom: Move over SMLALXYLioncash1-1/+56
2015-01-06Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.Kevin Hartman1-5/+7
2015-01-05dyncom: Partially emulate BXJLioncash1-8/+25
Just in case some game studio let the intern write inline assembly or something.
2015-01-05dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATTLioncash1-1/+2
Easy skyeye todo fix.
2015-01-05dyncom: Implement QADD/QSUB/QDADD/QDSUBLioncash1-8/+103
2015-01-04skyeye: Remove duplicate typedefsLioncash3-14/+14
citra already has its own typedefs like this.
2015-01-03dyncom: Implement SMLAWLioncash1-1/+43
2015-01-03dyncom: Implement REVSHLioncash1-45/+45
Also joins the REV ops into one common place.
2015-01-03dyncom: Implement SMLALD/SMLSLDLioncash1-3/+72
2015-01-03dyncom: Implement SMMLA/SMMUL/SMMLSLioncash1-3/+64
2015-01-03dyncom: Implemented LDREXD/STREXD/LDREXH/STREXHbunnei3-227/+282
2015-01-03dyncom: Remove dead function InterpreterInitInstLengthLioncash1-27/+0
Technically eliminates two memory leaks as well.
2015-01-03dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSDLioncash1-44/+73
2015-01-02dyncom: Implement SXTAB16 and SXTB16Lioncash1-3/+58
2015-01-01dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAXLioncash1-8/+110
2015-01-01dyncom: Implement SADD8/SSUB8Lioncash1-55/+108
2014-12-31dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAXLioncash1-9/+208
2014-12-31dyncom: Massive refactorbunnei1-514/+191
2014-12-30dyncom: Implement USAT16/SSAT16Lioncash1-2/+61
2014-12-30dyncom: Implement USAT/SSATbunnei1-2/+94
2014-12-30dyncom: Various cleanups to match coding style, no functional changes.bunnei4-7055/+5962
2014-12-29dyncom: Fix SMLALXY's instruction labelsLioncash1-2/+2
They were erroneously labeled as SMLAL.
2014-12-29dyncom: Implement QADD8/QSUB8Lioncash1-32/+42
2014-12-29dyncom: Implement UXTB16/UXTAB16Lioncash1-2/+55
2014-12-29vfp: Actually make the code somewhat readableLioncash2-14/+109
2014-12-28dyncom: Implement PKHBT and PKHTB.bunnei1-2/+57
2014-12-28dyncom: Implement USAD8/USADA8Lioncash1-2/+52
2014-12-27dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.Lioncash1-8/+97
2014-12-27dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAXLioncash1-11/+123
2014-12-26ARM: Add a mechanism for faking CPU time elapsed during HLE.bunnei2-49/+14
- Also a few cleanups.
2014-12-22dyncom: Move over QADD16/QASX/QSAX/QSUB16Lioncash1-7/+87
2014-12-22dyncom: Move SEL overLioncash1-1/+58
2014-12-22dyncom: Move over SASX/SSAX/SADD16/SSUB16Lioncash1-7/+102
2014-12-21More warning cleanupsChin3-9/+6
2014-12-21License changepurpasmart963-3/+3
2014-12-19dyncom: Implement UMAALLioncash1-1/+47
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner1-99/+101
2014-11-29dyncom: Use unordered_map rather than the terrible 2-level bb_mapYuri Kunde Schlesner1-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-29arm_dyncom_interpreter: Get rid of unused var warningsLioncash1-4/+2
2014-11-29Add comment regarding __WIN32__ in SkyEye codedarkf1-0/+4
2014-11-29Fix MinGW builddarkf1-0/+4
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot3-4/+4
2014-11-18Fix documentation of parametersLioncash1-1/+1
2014-11-12ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).bunnei1-2/+2
- Fixes single stepping in debugger.
2014-11-12ARM: Removed unnecessary goto with each instruction.bunnei1-43/+39
2014-11-12ARM: Fixed several dyncom bugs.bunnei3-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-10-26Add `override` keyword through the code.Yuri Kunde Schlesner1-7/+7
This was automated using `clang-modernize`.
2014-10-25ARM: Removed unnecessary and unused SkyEye MMU code.bunnei1-1/+0
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25ARM: Updated dyncom core to use fast label lookup table on clang.bunnei1-3/+7
2014-10-25ARM: Integrate SkyEye faster "dyncom" interpreter.bunnei10-0/+8124
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.