Commit graph

167 commits

Author SHA1 Message Date
Lioncash
8e2accd974 armemu: Fix construction of the CPSR 2014-12-22 23:51:59 -05:00
Normmatt
9c127f4a01 armemu: Fix FTOUI NaN sign. 2014-12-16 05:56:06 -05:00
Normmatt
2ed03c10e0 armemu: Fix FSUBS bug where NaN shouldn't be negated 2014-12-16 05:54:00 -05:00
bunnei
1ee740898a Merge pull request #276 from lioncash/decrappify
Clean up armdefs.h a little.
2014-12-14 22:08:14 -05:00
bunnei
d26b7146ce ARM: Pull some SkyEye fixes from 3dmoo. 2014-12-14 21:51:46 -05:00
Lioncash
f6cb8c1927 Clean up armdefs.h 2014-12-14 02:00:42 -05:00
Yuri Kunde Schlesner
0600e2d8b5 Convert old logging calls to new logging macros 2014-12-13 02:08:02 -02:00
Emmanuel Gil Peyrot
f8c05e53c4 Remove unused includes to common/thread.h 2014-11-25 20:39:25 +00:00
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.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner
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
Sean Maas
d06420807c Fix compilation errors 2014-11-02 18:43:52 -05:00
bunnei
bc6989b075 ARM: Merge latest VFP fixes from 3dmoo team. 2014-11-02 01:04:41 -05:00
Yuri Kunde Schlesner
c6e3c7df62 Fix VFP compilation errors with gcc 2014-10-30 22:24:03 -02:00
Lioncash
d155586801 vfp_helper: Get rid of integer type redefinitions 2014-10-26 14:19:47 -04:00
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
2014-10-25 14:11:41 -04:00
bunnei
53a22b84da ARM: Integrate SkyEye faster "dyncom" interpreter.
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.
2014-10-25 14:11:39 -04:00
bunnei
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