Commit Graph

30 Commits

Author SHA1 Message Date
1bb400be1b arm: Remove unnecessary booleans
We don't care about any of these.
2015-02-25 10:55:50 -05:00
a75e1ff6e6 arm: General cleanup
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
2015-02-13 09:11:12 -05:00
b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 2015-02-12 21:54:28 -05:00
e3f5c6366c arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12 11:30:28 -05:00
f48b0100a6 armdefs: Remove unnecessary extern C 2015-02-12 08:29:57 -05:00
49a22acd02 arm: Remove ARM26 support.
This will never be used. 32-bit is the norm.
2015-02-11 12:23:21 -05:00
c94c41f95a arm: Get rid of some magic constants. Specify proper ARM mode.
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11 10:49:55 -05:00
93cd199633 arm: Change some more constants into enums 2015-02-11 10:14:20 -05:00
088fab743f arm: Remove TRUE/FALSE defines
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
2015-02-10 13:09:41 -05:00
3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
f44781fd7b arm: Adios armemu 2015-01-31 20:43:03 -05:00
09a66860e2 arm: Throw out a lot of unnecessary code 2015-01-30 13:32:03 -05:00
3dfef1701c armdefs: Move some defines over to enums 2015-01-30 12:43:58 -05:00
9c2c89b7e1 dyncom: Add a helper function for addition with a carry 2015-01-12 00:44:28 -05:00
89bb0ecbd5 Merge pull request #417 from kevinhartman/exclusive-tag-fix
Added exclusive reservation granule from ARMv7 spec to dyncom...
2015-01-06 12:42:10 -05:00
8132c01830 Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. 2015-01-05 22:29:51 -05:00
d00c22c706 dyncom: Implement QADD/QSUB/QDADD/QDSUB 2015-01-05 09:13:41 -05:00
3337b84620 dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD 2015-01-02 18:29:30 -05:00
021fb42075 dyncom: Implement USAT/SSAT 2014-12-29 22:15:15 -05:00
7ad400d5a7 armemu: Implement QADD8/QSUB8 2014-12-29 00:49:10 -05:00
7d322b5c6f dyncom: Implement USAD8/USADA8 2014-12-28 12:40:51 -05:00
af69b0840b dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. 2014-12-27 17:24:34 -05:00
8e2accd974 armemu: Fix construction of the CPSR 2014-12-22 23:51:59 -05:00
1ee740898a Merge pull request #276 from lioncash/decrappify
Clean up armdefs.h a little.
2014-12-14 22:08:14 -05:00
d26b7146ce ARM: Pull some SkyEye fixes from 3dmoo. 2014-12-14 21:51:46 -05:00
f6cb8c1927 Clean up armdefs.h 2014-12-14 02:00:42 -05:00
c2588403c0 HLE: Revamp error handling throrough the HLE code
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-24 17:08:36 -02:00
924bbde89b Change some SkyEye defines to const ints
This prevents them from interfering with other constants defined in
different namespaces.
2014-11-24 16:47:01 -02:00
818ba32746 ARM: Removed unnecessary and unused SkyEye MMU code.
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25 14:11:41 -04:00
b5e6524594 ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
2014-10-25 14:11:39 -04:00