aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm
AgeCommit message (Collapse)Author
2014-12-17armemu: Implement UMAALLioncash
2014-12-17armemu: Narrow the scope of some variables in handle_v6_insnLioncash
There's no reason to have these in the outer-most scope.
2014-12-17armemu: Fix SADD16Lioncash
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-17armemu: Fix PKHTBNormmatt
2014-12-17armemu: Implement REVSHNormmatt
2014-12-17armemu: Fix UXTAB/UXTAHNormmatt
2014-12-17armemu: Fix SXTABNormmatt
2014-12-17armemu: Fix SXTAHNormmatt
2014-12-17Merge pull request #289 from lioncash/smopsbunnei
Join SMUAD, SMUSD, and SMLAD ops. Also fix them as well.
2014-12-16Merge pull request #290 from lioncash/vsubbunnei
armemu: Backport some VFP fixes from 3dmoo.
2014-12-16armemu: Fix FTOUI NaN sign.Normmatt
2014-12-16armemu: Fix FSUBS bug where NaN shouldn't be negatedNormmatt
2014-12-16armemu: Fix SMUAD, SMUSD, and SMLADLioncash
Wrong values were being multiplied together.
2014-12-16armemu: Join SMUAD, SMUSD, and SMLADLioncash
2014-12-16armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16.Lioncash
2014-12-16armemu: Join QADD16 and QSUB16 together.Lioncash
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
2014-12-15armemu: Implement UXTAB16Lioncash
2014-12-14armemu: Fix UXTB16Lioncash
Rotation bits are 10 and 11, not 9 and 10.
2014-12-14Merge pull request #276 from lioncash/decrappifybunnei
Clean up armdefs.h a little.
2014-12-14ARM: Pull some SkyEye fixes from 3dmoo.bunnei
2014-12-14Clean up armdefs.hLioncash
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner
2014-12-08armemu: Fix SSAXLioncash
2014-12-08armemu: Fix SASXLioncash
2014-12-07armemu: Fix parenthesis warnings regarding bitwise opsLioncash
2014-11-30Merge pull request #235 from yuriks/dyncom-mapbunnei
dyncom: Use unordered_map rather than the terrible 2-level bb_map
2014-11-29dyncom: Use unordered_map rather than the terrible 2-level bb_mapYuri Kunde Schlesner
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 warningsLioncash
2014-11-28Add comment regarding __WIN32__ in SkyEye codedarkf
2014-11-28Fix MinGW builddarkf
2014-11-25Remove unused includes to common/thread.hEmmanuel Gil Peyrot
2014-11-24HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner
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-24Change some SkyEye defines to const intsYuri Kunde Schlesner
This prevents them from interfering with other constants defined in different namespaces.
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP ↵Emmanuel Gil Peyrot
or generated
2014-11-18Fix documentation of parametersLioncash
2014-11-15Merge pull request #194 from lioncash/virtbunnei
ARM_Interface: Make destructor virtual
2014-11-14ARM_Interface: Make destructor virtualLioncash
Fixes some warnings on OSX.
2014-11-11ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).bunnei
- Fixes single stepping in debugger.
2014-11-11ARM: Removed unnecessary goto with each instruction.bunnei
2014-11-11ARM: Fixed several dyncom bugs.bunnei
- 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-02Fix compilation errorsSean Maas
2014-11-02ARM: Merged additional ARMv6 instructions implemented by 3dmoo.bunnei
2014-11-02ARM: Merge latest VFP fixes from 3dmoo team.bunnei
2014-10-30Fix VFP compilation errors with gccYuri Kunde Schlesner
2014-10-27Merge pull request #153 from yuriks/add-overridebunnei
Add override keyword where appropriate
2014-10-26vfp_helper: Get rid of integer type redefinitionsLioncash
2014-10-26Add `override` keyword through the code.Yuri Kunde Schlesner
This was automated using `clang-modernize`.
2014-10-25ARM: Removed unnecessary and unused SkyEye MMU code.bunnei
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25ARM: Removed unused armos code from SkyEye.bunnei
2014-10-25ARM: Updated dyncom core to use fast label lookup table on clang.bunnei