Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Implement gdbstub | polaris- | 2015-10-04 | 2 | -0/+37 |
| | |||||
* | general: Silence some warnings when using clang | Lioncash | 2015-09-16 | 1 | -1/+0 |
| | |||||
* | General: Replace NULL and '0' usages with nullptr where applicable | Lioncash | 2015-09-11 | 2 | -28/+28 |
| | |||||
* | DynCom: Converted all 0xE condition code checks to ConditionCode::AL | archshift | 2015-09-06 | 1 | -32/+32 |
| | |||||
* | Merge pull request #1025 from yuriks/heap-management | Yuri Kunde Schlesner | 2015-08-22 | 2 | -2/+0 |
|\ | | | | | Kernel: Correct(er) handling of Heap and Linear Heap allocations | ||||
| * | Memory: Move address type conversion routines to memory.cpp/h | Yuri Kunde Schlesner | 2015-08-16 | 2 | -2/+0 |
| | | | | | | | | | | These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next. | ||||
* | | vfp: use std::swap where applicable | Lioncash | 2015-08-16 | 2 | -12/+6 |
|/ | |||||
* | Merge pull request #1027 from lioncash/debugger | bunnei | 2015-08-14 | 1 | -1/+1 |
|\ | | | | | debugger: Add the ability to view VFP register contents | ||||
| * | arm_interface: Implement interface for retrieving VFP registers | Lioncash | 2015-08-07 | 1 | -1/+1 |
| | | |||||
* | | ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types. | Emmanuel Gil Peyrot | 2015-08-11 | 1 | -8/+9 |
|/ | |||||
* | dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM | Lioncash | 2015-07-29 | 1 | -20/+34 |
| | |||||
* | dyncom: Migrate exclusive memory access control into armstate | Lioncash | 2015-07-28 | 1 | -3/+22 |
| | |||||
* | dyncom: Use std::array for register arrays | Lioncash | 2015-07-26 | 1 | -24/+25 |
| | |||||
* | dyncom: Use ARMul_State as an object | Lioncash | 2015-07-26 | 7 | -801/+833 |
| | | | | Gets rid of C-like parameter passing. | ||||
* | dyncom: Remove unnecessary initialization code. | Lioncash | 2015-07-26 | 3 | -52/+2 |
| | | | | | | Targeting ARM version variants was only a thing on armemu. The reset routine also does basically the same thing as NewState. | ||||
* | dyncom: Remove unnecessary abort-related cruft | Lioncash | 2015-07-26 | 1 | -45/+1 |
| | | | | Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary. | ||||
* | dyncom: Rename armdefs.h to armstate.h | Lioncash | 2015-07-26 | 6 | -24/+24 |
| | |||||
* | dyncom: Get rid of skyeye typedefs | Lioncash | 2015-07-26 | 5 | -45/+40 |
| | |||||
* | dyncom: Move helper functions to their own header | Lioncash | 2015-07-26 | 4 | -38/+48 |
| | |||||
* | dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common | Lioncash | 2015-07-26 | 2 | -0/+765 |
| | |||||
* | armdefs: Remove unnecessary extern keywords | Lioncash | 2015-07-26 | 1 | -25/+25 |
| | |||||
* | Merge pull request #876 from linkmauve/include-cleanups | Yuri Kunde Schlesner | 2015-07-11 | 2 | -4/+6 |
|\ | | | | | Cleanup includes, mostly in common | ||||
| * | Core, VideoCore: Replace or fix exit() calls. | Emmanuel Gil Peyrot | 2015-06-28 | 2 | -4/+6 |
| | | |||||
* | | vfp: Change return type of VFPInit from unsigned int to void. | Lioncash | 2015-06-29 | 2 | -4/+2 |
| | | |||||
* | | vfp: Handle accesses to FPINST/FPINST2 system registers | Lioncash | 2015-06-29 | 4 | -42/+53 |
|/ | | | | Also has a side-benefit of correcting access to the FPEXC register. | ||||
* | vfp: Handle accesses to the VFP media feature registers | Lioncash | 2015-06-13 | 3 | -4/+8 |
| | | | | These are able to be accessed in any privilege mode. | ||||
* | vfp: Implement VMOVBCR/VMOVBRC | Lioncash | 2015-06-12 | 2 | -5/+8 |
| | |||||
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 2 | -5/+5 |
| | |||||
* | dyncom: Get rid of armemu.h | Lioncash | 2015-05-24 | 2 | -47/+28 |
| | |||||
* | dyncom: remove load_r15 from arm_inst | Lioncash | 2015-05-23 | 1 | -128/+96 |
| | | | | It's entirely unused. Also allows getting rid of more clunky macros. | ||||
* | VFP: Log as trace to get rid of spamming. | bunnei | 2015-05-23 | 1 | -23/+23 |
| | |||||
* | dyncom: Eliminate clang warnings | Lioncash | 2015-05-21 | 2 | -5/+3 |
| | | | | Gets rid of a whole load of missing brace initialization warnings. | ||||
* | Merge pull request #772 from lioncash/warn | bunnei | 2015-05-18 | 2 | -6/+6 |
|\ | | | | | core/video_core: Fix a few warnings when compiling on MSVC. | ||||
| * | vfp: Get rid of warnings | Lioncash | 2015-05-14 | 2 | -6/+6 |
| | | | | | | | | | | - Unary minus operator applied to unsigned type. - Unsafe use of bool. | ||||
* | | Merge pull request #770 from lioncash/dyncom_clean | bunnei | 2015-05-15 | 1 | -64/+64 |
|\ \ | | | | | | | dyncom: Minor cleanup. | ||||
| * | | dyncom: Remove unnecessary typedefs | Lioncash | 2015-05-14 | 1 | -64/+64 |
| |/ | |||||
* / | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+1 |
|/ | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | vfp: Handle flush-to-zero mode. | Lioncash | 2015-05-11 | 3 | -84/+98 |
| | |||||
* | Remove unnecessary dyncom header files | Lioncash | 2015-05-08 | 3 | -71/+0 |
| | |||||
* | Common: Remove common.h | Yuri Kunde Schlesner | 2015-05-07 | 1 | -1/+0 |
| | |||||
* | Clean-up includes | Yuri Kunde Schlesner | 2015-05-07 | 1 | -0/+2 |
| | |||||
* | Dyncom: Move cream cache to ARMul_State. | bunnei | 2015-05-02 | 1 | -0/+6 |
| | |||||
* | dyncom: Remove more unused/unnecessary code | Lioncash | 2015-04-20 | 2 | -64/+1 |
| | | | | Gets rid of a sizeable amount of stuff in armdefs. | ||||
* | dyncom: Remove unused/unnecessary VFP cruft | Lioncash | 2015-04-18 | 4 | -671/+7 |
| | |||||
* | Core_ARM11: Replace debug prints with our own logging functions in vfpsingle. | Emmanuel Gil Peyrot | 2015-04-14 | 2 | -39/+36 |
| | |||||
* | dyncom: Remove unnecessary enum and typedef | Lioncash | 2015-04-07 | 1 | -25/+0 |
| | | | | Also fixes descriptions in the process. | ||||
* | vfp: Make the FPSID values match the MPCore | Lioncash | 2015-04-06 | 1 | -7/+7 |
| | |||||
* | vfp: Get rid of the VFP_OFFSET macro | Lioncash | 2015-04-06 | 5 | -64/+69 |
| | |||||
* | Move CP15 enum definitions into their own enum. | Lioncash | 2015-04-06 | 2 | -23/+19 |
| | | | | Also gets rid of preprocessor mumbo-jumbo | ||||
* | dyncom: Move CP15 register writing into its own function. | Lioncash | 2015-04-02 | 2 | -0/+34 |
| | | | | Also implements writing to the rest of the ARM11 MPCore CP15 register set. | ||||
* | dyncom: Move CP15 register reading into its own function. | Lioncash | 2015-04-02 | 2 | -5/+54 |
| | | | | Keeps everything contained. Added all supported readable registers in an ARM11 MPCore. | ||||
* | dyncom: Migrate InAPrivilegedMode to armsupp | Lioncash | 2015-03-26 | 1 | -0/+1 |
| | | | | It's a generic helper function, so it should be here anyway. | ||||
* | armmmu: Remove unnecessary enum values | Lioncash | 2015-03-21 | 1 | -30/+20 |
| | | | | We don't need to care about XScale or Intel specific ARM stuff. | ||||
* | dyncom: Make Load/Store instructions support big endian | Lioncash | 2015-03-17 | 3 | -30/+130 |
| | |||||
* | vfp: Get rid of warnings | Lioncash | 2015-03-04 | 2 | -4/+4 |
| | |||||
* | arm: Remove unnecessary booleans | Lioncash | 2015-02-25 | 1 | -18/+5 |
| | | | | We don't care about any of these. | ||||
* | vfpinstr: Fix trivial signed/unsigned mismatch warnings | Lioncash | 2015-02-18 | 1 | -4/+4 |
| | |||||
* | vfpdouble: Use %p for printing pointer addresses. | Lioncash | 2015-02-15 | 1 | -2/+2 |
| | |||||
* | arm: Set the A bit on reset. | Lioncash | 2015-02-15 | 1 | -1/+1 |
| | | | | This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough. | ||||
* | core: Apply static to local functions | Lioncash | 2015-02-13 | 1 | -32/+32 |
| | |||||
* | arm: General cleanup | Lioncash | 2015-02-13 | 6 | -129/+57 |
| | | | | | | | - Remove several typedefs for ARMul_State. - Remove unused functions - Remove unused/unnecessary headers - Removed unused enums, etc. | ||||
* | dyncom: Switch the app and system cores into the correct mode at initialization | Lioncash | 2015-02-13 | 1 | -2/+2 |
| | |||||
* | dyncom: Clean up the constructor | Lioncash | 2015-02-13 | 1 | -5/+0 |
| | | | | Some function calls aren't necessary and would be handled by regular initialization routines. | ||||
* | arm: Remove ARMul_EmulateInit | Lioncash | 2015-02-12 | 2 | -9/+0 |
| | | | | This was only used for armemu, which has since been removed. Removed components related to this as well. | ||||
* | armdefs: Remove unnecessary extern C | Lioncash | 2015-02-12 | 1 | -6/+0 |
| | |||||
* | arm: Remove ARM26 support. | Lioncash | 2015-02-11 | 1 | -20/+0 |
| | | | | This will never be used. 32-bit is the norm. | ||||
* | arm: Get rid of some magic constants. Specify proper ARM mode. | Lioncash | 2015-02-11 | 1 | -0/+7 |
| | | | | Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE. | ||||
* | arm: Change some more constants into enums | Lioncash | 2015-02-11 | 2 | -21/+30 |
| | |||||
* | arm: Remove TRUE/FALSE defines | Lioncash | 2015-02-10 | 2 | -16/+10 |
| | | | | | - Removed the Debug parameter from ARMul_State since it isn't used. - Changed ARMul_CoProInit to a void function. It always returned true. | ||||
* | Merge pull request #553 from lioncash/denorm | bunnei | 2015-02-10 | 2 | -0/+6 |
|\ | | | | | vfp: Normalize accumulator for multiply accumulate instructions | ||||
| * | vfp: Normalize accumulator for multiply accumulate instructions | Lioncash | 2015-02-10 | 2 | -0/+6 |
| | | |||||
* | | dyncom: Add more regs to MCR/MRC | Lioncash | 2015-02-10 | 1 | -1/+3 |
|/ | | | | Adds the registers that were left out of some coprocessor ranges. | ||||
* | vfpdouble: Fix the FTOUI NaN sign setting | Lioncash | 2015-02-09 | 1 | -1/+1 |
| | | | | This was fixed for vfpsingle, but not vfpdouble | ||||
* | Throw more unused/unnecessary VFP code out | Lioncash | 2015-02-09 | 3 | -215/+1 |
| | |||||
* | vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff | Lioncash | 2015-02-09 | 4 | -192/+153 |
| | |||||
* | vfp_helper: Normalize tabs to spaces | Lioncash | 2015-02-09 | 1 | -172/+170 |
| | |||||
* | vfp_helper: Remove unnecessary extern C blocks | Lioncash | 2015-02-06 | 1 | -17/+1 |
| | |||||
* | vfp: Move FPSID, FPEXC, and FPSCR values over to enums. | Lioncash | 2015-02-06 | 3 | -150/+104 |
| | | | | Also got rid of duplicate definitions of some of these values. | ||||
* | Merge pull request #537 from lioncash/vfp | bunnei | 2015-02-04 | 1 | -6/+6 |
|\ | | | | | vfp: Fix VCVT | ||||
| * | vfp: Fix VCVT | Lioncash | 2015-02-04 | 1 | -6/+6 |
| | | | | | | | | | | These variants exclusively read from the single precision regs and write to double-precision registers Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers. | ||||
* | | vfp: Throw out unused code | Lioncash | 2015-02-04 | 2 | -1765/+0 |
|/ | |||||
* | Merge pull request #525 from lioncash/armwarn | bunnei | 2015-02-01 | 2 | -6/+3 |
|\ | | | | | vfp: Get rid of some compile warnings | ||||
| * | vfp: Get rid of some compile warnings | Lioncash | 2015-02-01 | 2 | -6/+3 |
| | | |||||
* | | arm: Clean up ARMul_State | Lioncash | 2015-02-01 | 1 | -110/+71 |
|/ | | | | Remove unnecessary/unused struct variables. | ||||
* | arm: Adios armemu | Lioncash | 2015-02-01 | 3 | -821/+108 |
| | |||||
* | arm: Move headers over to pragma once | Lioncash | 2015-01-30 | 5 | -23/+9 |
| | |||||
* | arm: Get rid of armcpu.h and skyeye_types.h | Lioncash | 2015-01-30 | 2 | -109/+0 |
| | |||||
* | arm: Clean out armos.h and armmmu.h | Lioncash | 2015-01-30 | 2 | -181/+23 |
| | |||||
* | arm: Throw out a lot of unnecessary code | Lioncash | 2015-01-30 | 3 | -279/+20 |
| | |||||
* | armdefs: Move some defines over to enums | Lioncash | 2015-01-30 | 1 | -131/+112 |
| | |||||
* | Update vfp.cpp | bunnei | 2015-01-27 | 1 | -1/+1 |
| | | | VFP: Changed a debug log to trace. | ||||
* | Merge pull request #410 from chinhodado/cleanup | bunnei | 2015-01-24 | 4 | -432/+151 |
|\ | | | | | Cleanup: Logging in Core | ||||
| * | Cleanup: Logging in Core | Chin | 2015-01-19 | 4 | -432/+151 |
| | | |||||
* | | vfp: Clean up vertical alignment for instructions | Lioncash | 2015-01-23 | 1 | -131/+125 |
| | | |||||
* | | dyncom: Clarify precedence for ternary statements | Lioncash | 2015-01-20 | 2 | -2/+2 |
|/ | |||||
* | vfp: Remove dead code | Lioncash | 2015-01-12 | 1 | -50/+14 |
| | |||||
* | dyncom: Add a helper function for addition with a carry | Lioncash | 2015-01-12 | 1 | -0/+1 |
| | |||||
* | Merge pull request #417 from kevinhartman/exclusive-tag-fix | bunnei | 2015-01-06 | 1 | -11/+11 |
|\ | | | | | Added exclusive reservation granule from ARMv7 spec to dyncom... | ||||
| * | Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. | Kevin Hartman | 2015-01-06 | 1 | -11/+11 |
| | | |||||
* | | Merge pull request #418 from lioncash/qd | bunnei | 2015-01-05 | 2 | -5/+6 |
|\ \ | | | | | | | dyncom: Implement QADD/QSUB/QDADD/QDSUB | ||||
| * | | dyncom: Implement QADD/QSUB/QDADD/QDSUB | Lioncash | 2015-01-05 | 2 | -5/+6 |
| |/ | |||||
* / | skyeye: Remove duplicate typedefs | Lioncash | 2015-01-04 | 1 | -27/+3 |
|/ | | | | citra already has its own typedefs like this. | ||||
* | VFP: Minor cleanup, functionally the same. | bunnei | 2015-01-03 | 1 | -2587/+2476 |
| | |||||
* | dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD | Lioncash | 2015-01-03 | 2 | -1/+2 |
| | |||||
* | dyncom: Massive refactor | bunnei | 2014-12-31 | 1 | -140/+30 |
| | |||||
* | vfp: Get rid of a few warnings | Lioncash | 2014-12-30 | 2 | -2/+2 |
| | |||||
* | vfp: Implement VMOVBRRSS | Lioncash | 2014-12-30 | 3 | -12/+44 |
| | |||||
* | dyncom: Implement USAT/SSAT | bunnei | 2014-12-30 | 1 | -0/+2 |
| | |||||
* | dyncom: Various cleanups to match coding style, no functional changes. | bunnei | 2014-12-30 | 1 | -32/+0 |
| | |||||
* | armemu: Implement QADD8/QSUB8 | Lioncash | 2014-12-29 | 1 | -0/+5 |
| | |||||
* | vfp: Actually make the code somewhat readable | Lioncash | 2014-12-29 | 3 | -1650/+944 |
| | |||||
* | dyncom: Implement USAD8/USADA8 | Lioncash | 2014-12-28 | 2 | -1/+1 |
| | |||||
* | Merge pull request #354 from lioncash/usaduflow | bunnei | 2014-12-28 | 1 | -0/+1 |
|\ | | | | | armemu: Fix underflows in USAD8/USADA8 | ||||
| * | armemu: Fix underflows in USAD8/USADA8 | Lioncash | 2014-12-28 | 1 | -0/+1 |
| | | | | | | | | Initially reported by xdec. | ||||
* | | dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. | Lioncash | 2014-12-27 | 2 | -4/+5 |
| | | |||||
* | | armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX | Lioncash | 2014-12-27 | 1 | -0/+4 |
|/ | |||||
* | armemu: Set the Q flag properly for SMLAD/SMUAD | Lioncash | 2014-12-23 | 1 | -0/+1 |
| | |||||
* | armemu: Fix construction of the CPSR | Lioncash | 2014-12-23 | 2 | -4/+5 |
| | |||||
* | armemu: Fix FTOUI NaN sign. | Normmatt | 2014-12-16 | 1 | -1/+1 |
| | |||||
* | armemu: Fix FSUBS bug where NaN shouldn't be negated | Normmatt | 2014-12-16 | 1 | -1/+4 |
| | |||||
* | Merge pull request #276 from lioncash/decrappify | bunnei | 2014-12-15 | 1 | -306/+169 |
|\ | | | | | Clean up armdefs.h a little. | ||||
| * | Clean up armdefs.h | Lioncash | 2014-12-14 | 1 | -306/+169 |
| | | |||||
* | | ARM: Pull some SkyEye fixes from 3dmoo. | bunnei | 2014-12-15 | 2 | -4/+4 |
|/ | |||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -3/+1 |
| | |||||
* | Remove unused includes to common/thread.h | Emmanuel Gil Peyrot | 2014-11-25 | 1 | -2/+0 |
| | |||||
* | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 2014-11-24 | 1 | -16/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Change some SkyEye defines to const ints | Yuri Kunde Schlesner | 2014-11-24 | 2 | -34/+16 |
| | | | | | This prevents them from interfering with other constants defined in different namespaces. | ||||
* | Fix compilation errors | Sean Maas | 2014-11-03 | 1 | -2/+2 |
| | |||||
* | ARM: Merge latest VFP fixes from 3dmoo team. | bunnei | 2014-11-02 | 4 | -2096/+2388 |
| | |||||
* | Fix VFP compilation errors with gcc | Yuri Kunde Schlesner | 2014-10-31 | 1 | -12/+12 |
| | |||||
* | vfp_helper: Get rid of integer type redefinitions | Lioncash | 2014-10-26 | 1 | -7/+1 |
| | |||||
* | ARM: Removed unnecessary and unused SkyEye MMU code. | bunnei | 2014-10-25 | 2 | -118/+0 |
| | | | | Added license header back in. I originally removed this because I mostly rewrote the file, but meh | ||||
* | ARM: Integrate SkyEye faster "dyncom" interpreter. | bunnei | 2014-10-25 | 6 | -38/+87 |
| | | | | | | | | | | 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. | ||||
* | ARM: Reorganized file structure to move shared SkyEye code to a more common area. | bunnei | 2014-10-25 | 14 | -0/+11033 |
Removed s_ prefix |