Commit Graph

35 Commits (b7b8b676202eaeced392dea06e2c3fcc4bd11aec)

Author SHA1 Message Date
Lioncash b7b8b67620 Move CP15 enum definitions into their own enum.
Also gets rid of preprocessor mumbo-jumbo
11 years ago
Lioncash 490df716f3 dyncom: Move CP15 register writing into its own function.
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
11 years ago
Lioncash 5e5954c63b dyncom: Move CP15 register reading into its own function.
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
11 years ago
Lioncash de6eba0288 dyncom: Migrate InAPrivilegedMode to armsupp
It's a generic helper function, so it should be here anyway.
11 years ago
Lioncash 9fdb311d6e dyncom: Make Load/Store instructions support big endian 11 years ago
Lioncash 1bb400be1b arm: Remove unnecessary booleans
We don't care about any of these.
11 years ago
Lioncash a75e1ff6e6 arm: General cleanup
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
11 years ago
Lioncash b7fac494cd dyncom: Switch the app and system cores into the correct mode at initialization 11 years ago
Lioncash e3f5c6366c arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
11 years ago
Lioncash f48b0100a6 armdefs: Remove unnecessary extern C 11 years ago
Lioncash 49a22acd02 arm: Remove ARM26 support.
This will never be used. 32-bit is the norm.
11 years ago
Lioncash 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.
11 years ago
Lioncash 93cd199633 arm: Change some more constants into enums 11 years ago
Lioncash 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.
11 years ago
Lioncash 3f00dd9117 arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
11 years ago
Lioncash f44781fd7b arm: Adios armemu 11 years ago
Lioncash 09a66860e2 arm: Throw out a lot of unnecessary code 11 years ago
Lioncash 3dfef1701c armdefs: Move some defines over to enums 11 years ago
Lioncash 9c2c89b7e1 dyncom: Add a helper function for addition with a carry 11 years ago
bunnei 89bb0ecbd5 Merge pull request #417 from kevinhartman/exclusive-tag-fix
Added exclusive reservation granule from ARMv7 spec to dyncom...
11 years ago
Kevin Hartman 8132c01830 Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. 11 years ago
Lioncash d00c22c706 dyncom: Implement QADD/QSUB/QDADD/QDSUB 11 years ago
Lioncash 3337b84620 dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD 11 years ago
bunnei 021fb42075 dyncom: Implement USAT/SSAT 11 years ago
Lioncash 7ad400d5a7 armemu: Implement QADD8/QSUB8 11 years ago
Lioncash 7d322b5c6f dyncom: Implement USAD8/USADA8 11 years ago
Lioncash af69b0840b dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. 11 years ago
Lioncash 8e2accd974 armemu: Fix construction of the CPSR 11 years ago
bunnei 1ee740898a Merge pull request #276 from lioncash/decrappify
Clean up armdefs.h a little.
11 years ago
bunnei d26b7146ce ARM: Pull some SkyEye fixes from 3dmoo. 11 years ago
Lioncash f6cb8c1927 Clean up armdefs.h 11 years ago
Yuri Kunde Schlesner 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.
11 years ago
Yuri Kunde Schlesner 924bbde89b Change some SkyEye defines to const ints
This prevents them from interfering with other constants defined in
different namespaces.
11 years ago
bunnei 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
11 years ago
bunnei b5e6524594 ARM: Reorganized file structure to move shared SkyEye code to a more common area.
Removed s_ prefix
11 years ago