summaryrefslogtreecommitdiffstats
path: root/src/core/arm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* armemu: Fix SSAXLioncash2014-12-081-1/+1
|
* armemu: Fix SASXLioncash2014-12-081-1/+1
|
* armemu: Fix parenthesis warnings regarding bitwise opsLioncash2014-12-081-4/+4
|
* Merge pull request #235 from yuriks/dyncom-mapbunnei2014-11-301-33/+15
|\ | | | | dyncom: Use unordered_map rather than the terrible 2-level bb_map
| * dyncom: Use unordered_map rather than the terrible 2-level bb_mapYuri Kunde Schlesner2014-11-291-33/+15
| | | | | | | | | | | | Seems (probably just placebo/wishful thinking) to make it slightly faster. Also reduces memory usage and makes shutdown when debugging from MSVC fast.
* | arm_dyncom_interpreter: Get rid of unused var warningsLioncash2014-11-291-4/+2
|/
* Remove unused includes to common/thread.hEmmanuel Gil Peyrot2014-11-251-2/+0
|
* HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner2014-11-241-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 intsYuri Kunde Schlesner2014-11-242-34/+16
| | | | | This prevents them from interfering with other constants defined in different namespaces.
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-197-12/+12
|
* Fix documentation of parametersLioncash2014-11-182-2/+2
|
* Merge pull request #194 from lioncash/virtbunnei2014-11-151-1/+1
|\ | | | | ARM_Interface: Make destructor virtual
| * ARM_Interface: Make destructor virtualLioncash2014-11-141-1/+1
| | | | | | | | Fixes some warnings on OSX.
* | ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).bunnei2014-11-121-2/+2
| | | | | | | | - Fixes single stepping in debugger.
* | ARM: Removed unnecessary goto with each instruction.bunnei2014-11-121-43/+39
| |
* | ARM: Fixed several dyncom bugs.bunnei2014-11-123-17/+25
| | | | | | | | | | | | | | - 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.
* | Fix compilation errorsSean Maas2014-11-031-2/+2
| |
* | ARM: Merged additional ARMv6 instructions implemented by 3dmoo.bunnei2014-11-021-42/+234
| |
* | ARM: Merge latest VFP fixes from 3dmoo team.bunnei2014-11-024-2096/+2388
| |
* | Fix VFP compilation errors with gccYuri Kunde Schlesner2014-10-311-12/+12
| |
* | Merge pull request #153 from yuriks/add-overridebunnei2014-10-282-18/+18
|\ \ | | | | | | Add override keyword where appropriate
| * | Add `override` keyword through the code.Yuri Kunde Schlesner2014-10-262-18/+18
| | | | | | | | | | | | This was automated using `clang-modernize`.
* | | vfp_helper: Get rid of integer type redefinitionsLioncash2014-10-261-7/+1
|/ /
* | ARM: Removed unnecessary and unused SkyEye MMU code.bunnei2014-10-2521-7728/+326
| | | | | | | | Added license header back in. I originally removed this because I mostly rewrote the file, but meh
* | ARM: Removed unused armos code from SkyEye.bunnei2014-10-253-746/+0
| |
* | ARM: Updated dyncom core to use fast label lookup table on clang.bunnei2014-10-251-3/+7
| |
* | ARM: Integrate SkyEye faster "dyncom" interpreter.bunnei2014-10-2518-50/+8216
| | | | | | | | | | | | | | | | | | | | 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.bunnei2014-10-2531-63/+63
| | | | | | | | Removed s_ prefix
* | Merge pull request #97 from archshift/cleanupbunnei2014-09-141-1/+1
|\ \ | | | | | | Small, general code cleanup
| * | Dead code removal: video_core.cpp, load_symbol_map.cpparchshift2014-09-071-1/+1
| | |
* | | Merge pull request #99 from archshift/ext-checkbunnei2014-09-111-39/+39
|\ \ \ | | | | | | | | loader.cpp: improved file extension checking, made Upper/LowerStr useful, moved string_util into Common namespace
| * | | Added string_util to common, small changes in loader.cpparchshift2014-09-091-39/+39
| | |/ | |/|
* / | core: Prune redundant includesarchshift2014-09-091-1/+0
|/ /
* / core: Make the ARM disassembler use std::string internallyLioncash2014-09-063-189/+143
|/
* Threading: Fix thread starting to execute first instruction correctly.bunnei2014-08-281-1/+1
|
* ARM: Remove a forgotten const in vfp.Emmanuel Gil Peyrot2014-08-202-2/+2
|
* ARM: Synchronize Citra's SkyEye core with 3dmoo's.bunnei2014-07-246-5919/+5303
|
* core: Kill off type redefenitions in armdefs.hLioncash2014-07-201-7/+0
|
* Merge branch 'threading' of https://github.com/bunnei/citrabunnei2014-06-144-20/+18
|\ | | | | | | | | | | Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp
| * arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expectedbunnei2014-06-051-1/+1
| |
| * arm: fixed bug in how thread context switch occurs with SkyEyebunnei2014-06-051-2/+5
| |
| * arm: reverting a change made with cb0663de - this has to have been a typo!bunnei2014-06-051-1/+1
| |
| * arm: added option to prepare CPU core (while mid-instruction) for thread reschedulebunnei2014-06-023-0/+11
| |
| * arm: removed unnecessary code when calling SVC from skyeyebunnei2014-05-301-16/+0
| |
* | Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class fieldDisruption2014-06-011-1/+1
| |
* | Merge branch 'threading'bunnei2014-05-237-36/+119
|\|
| * arm_interpreter: fixed load context to currently resume a threadbunnei2014-05-231-1/+4
| |
| * arm: removed include of windows.h from armdefs.h to arminit.c (only module that uses it)bunnei2014-05-212-4/+3
| |
| * armemu: missed rename of "Syscall" to "SVC"bunnei2014-05-211-1/+1
| |
| * ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guidebunnei2014-05-213-45/+45
| |
| * ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei2014-05-213-1/+63
| |
| * VFP: disable DBG messages because they spam the console with unimportant skyeye junkbunnei2014-05-201-1/+1
| |
| * ignore thumbemu 0xDEADCODE debugging catch on MCRbunnei2014-05-171-2/+1
| |
| * Merge branch 'master' into threadingbunnei2014-05-175-20/+30
| |\
| * \ Merge master into threading to add support for VFPbunnei2014-05-1728-136/+14183
| |\ \
| * | | added option to set CPSR register to arm_interfacebunnei2014-05-123-0/+20
| | | |
* | | | Merge pull request #2 from archshift/issue-7-fixbunnei2014-05-204-10/+10
|\ \ \ \ | |_|_|/ |/| | | Fixes issues with building Citra on OSX
| * | | Fixed vfp issuesarchshift2014-05-174-10/+10
| | |/ | |/|
* / | updated how we call ARM core to make things much fasterbunnei2014-05-175-20/+30
|/ /
* | same fix as last commit - just for vfpsingle.cppbunnei2014-05-171-2/+2
| |
* | another VFP fix for GCCbunnei2014-05-171-2/+2
| |
* | fixed VFP DBG log for GCCbunnei2014-05-171-1/+1
| |
* | - reenabled MCR and MRC functions now that VFP is attachedbunnei2014-05-172-95/+92
| | | | | | | | - removed HLE::CallMCR function (was pointless)
* | - removed unused stubbed out codebunnei2014-05-175-33/+27
| | | | | | | | | | - fixed some compiler issues with xscale_copro when porting code to Windows - fixed some #include's
* | added maverick.cpp to ARM core from skyeyebunnei2014-05-161-0/+1206
| |
* | fixed includesbunnei2014-05-161-2/+2
| |
* | enabled CP_ACCESS_ALLOWEDbunnei2014-05-161-6/+4
| |
* | fixed include pathbunnei2014-05-161-1/+1
| |
* | removed undefined function ARMul_ConsolePrintbunnei2014-05-161-1/+1
| |
* | added missing armcopro from skyeyebunnei2014-05-163-251/+1093
| |
* | added missing skyeye mmu codebunnei2014-05-169-17/+3272
| |
* | fixed armmmu importsbunnei2014-05-161-5/+5
| |
* | - moved mmu to arm/interpreter folderbunnei2014-05-1613-0/+8755
|/ | | | - added initial VFP code from skyeye
* - disable strict alignment on LDRD/STRDbunnei2014-05-071-17/+22
| | | | - handle RD in STREX/STREXB
* commented out useless debug logs that just spammed consolebunnei2014-05-061-3/+3
|
* - added CallMCR function to coprocessor HLE modulebunnei2014-05-021-22/+23
| | | | - moved instruction decoding to coprocessor HLE module
* renamed hle "mrc" module to "coprocessor"bunnei2014-05-021-8/+8
|
* added a module to load symbol map files for debuggingbunnei2014-05-012-0/+46
|
* removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable classbunnei2014-04-282-3/+1
|
* removed commented out line - this was for an unimplemented MRC call, no longer need to leave this herebunnei2014-04-281-1/+0
|
* moved HLE::MRC to its own module, added support for catching data synchronization barrier commandbunnei2014-04-252-3/+5
|
* added disassembly to unimplemented instructionbunnei2014-04-251-1/+6
|
* fixes to build on linuxbunnei2014-04-231-0/+2
|
* - added HLE to connect to "srv:" servicebunnei2014-04-131-33/+35
| | | | | | - added a manager for keeping track of services/ports - added a memory mapped region for memory accessed by HLE - added HLE for GetThreadCommandBuffer function
* hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...)bunnei2014-04-121-2/+6
|
* added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector)bunnei2014-04-121-0/+11
|
* base code to call a syscall from ARM11 appcorebunnei2014-04-111-0/+3
|
* missed this file with commit 95e5436fbunnei2014-04-111-1/+10
|
* cleaned up arm_interface, added a setter to set registers for use with HLE return valuesbunnei2014-04-112-6/+70
|
* fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend modulebunnei2014-04-093-94/+57
|
* fixed project includes to use new directory structurebunnei2014-04-0910-27/+27
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-0925-0/+15528