summaryrefslogtreecommitdiffstats
path: root/src/core/arm (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-10-23logging: Rename category "Core_ARM11" to "Core_ARM".bunnei7-86/+86
2017-09-30arm_interface: Set TLS address for dynarmic core.bunnei5-0/+32
2017-09-30arm: Use 64-bit addressing in a bunch of places.bunnei5-74/+107
2017-09-30Moved down_count to CoreTimingHuw Pascoe5-28/+2
2017-09-25ARM_Interface: Implement PageTableChangedMerryMage5-6/+34
2017-09-15CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime.Subv1-1/+3
2017-08-21CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions.Subv1-1/+1
2017-08-21Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache.Subv2-4/+4
Fixes a few warnings.
2017-08-21Dyncom: Fixed a conversion warning when decoding thumb instructions.Subv1-1/+1
2017-05-22fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.Subv2-4/+0
2017-05-14Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.Subv1-2/+12
Previously we were letting vadd flush the value to positive 0, but there are cases where this behavior is wrong, for example, vsub: -0 - +0 = -0 vadd: -0 + +0 = +0 Now we'll flush the value to +0 inside vsub, and then negate it.
2017-05-09Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions.Subv2-2/+2
2017-05-09Revert "Remove `exceptions` parameter from `normaliseround` VFP functions"Subv3-57/+28
This reverts commit edf30d84cc0e8299d61c98f5bb40a6428d1576bc. Conflicts: src/core/arm/skyeye_common/vfp/vfp_helper.h src/core/arm/skyeye_common/vfp/vfpdouble.cpp src/core/arm/skyeye_common/vfp/vfpsingle.cpp
2017-05-08Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.Subv2-0/+30
Inputs are still not flushed to 0 if they are denormals.
2017-05-08Dyncom: Remove disassembler codeYuri Kunde Schlesner3-1587/+2
Had licensing issue around it, in addition to several bugs. Closes #1632, #1280
2017-05-08Dyncom: Tweak types and log formattingYuri Kunde Schlesner3-8/+10
2017-05-08Remove unused symbols codeYuri Kunde Schlesner2-44/+0
2017-02-18dyncom: Correct SXTAB16 and SXTB16MerryMage1-4/+4
2017-02-03arm_dynarmic: Update memory interfaceMerryMage1-10/+10
2017-02-03arm_dynarmic: CP15 supportMerryMage4-5/+128
2016-12-22arm_dynarmic: Provide MemoryReadCode callbackMerryMage1-0/+1
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22ThreadContext: Move from "core" to "arm_interface".bunnei5-22/+21
2016-12-15gdbstub: Remove global variable from public interfaceLioncash2-3/+3
Currently, this is only ever queried, so adding a function to check if the server is enabled is more sensible. If directly modifying this externally is ever desirable, it should be done by adding a function to the interface, rather than exposing implementation details directly.
2016-12-15core: Add missing #pragma once directives where applicableLioncash1-0/+2
2016-12-11Core: Add a forgotten #include <cstring> for memcpy.Emmanuel Gil Peyrot1-0/+1
2016-11-26dynarmic: Add ticks based on ticks executed, not ticks requestedMerryMage1-2/+2
2016-11-25Expose page table to dynarmic for optimized reads and writes to the JITJames Rowe1-0/+1
2016-09-21Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner11-11/+11
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot15-40/+18
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner6-16/+15
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot22-6274/+5726
2016-09-18Dyncom: Disable clang-format on the decoding table.Emmanuel Gil Peyrot1-0/+3
2016-09-15arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg.bunnei1-5/+12
2016-09-15arm: ResetContext shouldn't be part of ARM_Interface.bunnei5-29/+0
2016-09-15arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.bunnei2-2/+2
2016-09-15dyncom: Use VFP_FPSCR/VFP_FPEXC.bunnei1-4/+4
2016-09-15dynarmic: Implement ARM CPU interface.bunnei2-0/+227
2016-08-27ARM: add ClearInstructionCache functionwwylele3-0/+11
2016-08-22dyncom: Read-after-write in SMLAMerryMage1-2/+4
In the case when RD === RN, RD was updated before AddOverflow was called to check for an overflow, resulting in an incorrect state of the Q flag.
2016-08-14Dyncom: Correct implementation of STM for R15MerryMage1-3/+4
2016-07-28dyncom: Fix translation of thumb REVSHMerryMage1-4/+13
2016-06-12Make arm_dyncom_trans* into a fully fledged compilation unitarchshift3-53/+71
2016-06-12arm_dyncom_interpreter: slightly change AllocBuffer to be intuitivearchshift1-15/+15
2016-06-11arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT funcarchshift2-39/+19
This allows us to get the addressing operation for STRT, LDRT, STRBT, and LDRBT. We do this so that translation functions don't need to see the addressing ops directly.
2016-06-11arm_dyncom_interpreter: rename operation functions to fit style guidearchshift2-34/+34
2016-06-11arm_dyncom_interpreter: Rename anonymous enum to TransExtDataarchshift4-166/+164
2016-06-11arm_dyncom_interpreter.cpp: #include translation info from inc filesarchshift3-2648/+2652
2016-06-11Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)"archshift4-2729/+2727
2016-06-09arm_dyncom_interpreter: rename operation functions to fit style guidearchshift2-42/+42
2016-06-09arm_dyncom_interpreter.cpp: Split by translation and interpreter logicarchshift4-2727/+2729
To facilitate the split, some small changes were made to names of various structures and functions.
2016-05-18Remove `exceptions` parameter from `normaliseround` VFP functionsJannik Vogel3-28/+57
2016-05-18Fix exception propagation for VFP single precisionJannik Vogel2-33/+38
2016-05-18Fix exception propagation for VFP double precisionJannik Vogel2-34/+39
2016-05-18Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSDJannik Vogel1-4/+8
2016-05-17Set fpscr for new threadsJannik Vogel1-0/+1
2016-05-16Fix ftoi behaviourJannik Vogel2-22/+53
2016-05-16Respect fpscr in ftoizJannik Vogel2-4/+4
2016-05-16Disable VFP3 instructionsJannik Vogel1-0/+4
2016-05-09dyncom: Reset the context into user mode correctlyLioncash1-1/+1
The other mode was system mode.
2016-04-29Common: Remove section measurement from profiler (#1731)Yuri Kunde Schlesner1-7/+0
This has been entirely superseded by MicroProfile. The rest of the code can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-09Fix BLX LR opcode interpretationmailwl1-2/+3
2016-04-08Update cpsr (T)humb bit while creating threadmailwl1-1/+1
2016-04-06Fix thumb ADR instruction alignmentmailwl1-6/+2
2016-04-05Common: Remove Common::make_unique, use std::make_uniqueMerryMage1-3/+2
2016-03-30DynCom: Optimize single steppingMerryMage1-26/+57
2016-03-21armstate: Correct FIQ register bankingLioncash1-4/+3
FIQ has seven banked registers (R8 to R14), not two.
2016-01-19ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode namerob turner1-9/+9
2015-12-30arm_dyncom_dec: Fix decoding of VMLSLioncash2-206/+202
Previously, all VMLS variants would misdecode as CDP (which isn't necessarily wrong in itself, however VMLS has it's own label of execution)
2015-12-28dyncom: Handle modifying the APSR via an MRC instructionLioncash1-12/+9
2015-12-21dyncom: Remove PC dispatch from several instructionsLioncash1-94/+0
These instructions aren't capable of using the PC as a destination
2015-12-20dyncom: Handle unprivileged load/store variants correctlyLioncash1-7/+33
LDRT/LDRBT/STRBT/STRT should simulate the load or store as if the host CPU is in user mode. STRT is also allowed to use the PC as an operand
2015-12-06dyncom: Remove static keyword from header functionsLioncash3-19/+19
2015-12-06arm_interface: Make GetNumInstructions constLioncash1-1/+1
2015-12-06arm_interface: directly initialize class membersLioncash1-7/+2
2015-12-06dyncom: const correctness changesLioncash3-7/+7
2015-11-29armstate: Zero out the registers on creationLioncash1-11/+11
std::array isn't always guaranteed to explicitly zero out it's contents without an initializer list.
2015-10-12Remove unnecessary new lines, changed Deinit to Shutdownpolaris-1-1/+0
2015-10-09CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.Emmanuel Gil Peyrot3-45/+45
The LOG_* function itself already appends one.
2015-10-04Use BreakpointAddress struct instead of passing address directlypolaris-1-3/+3
2015-10-04Implement gdbstubpolaris-3-9/+69
2015-09-20Implement gdbstubpolaris-3-9/+69
2015-09-16general: Silence some warnings when using clangLioncash1-1/+0
2015-09-11General: Replace NULL and '0' usages with nullptr where applicableLioncash3-30/+30
2015-09-06DynCom: Converted all 0xE condition code checks to ConditionCode::ALarchshift2-132/+132
2015-08-26dyncom: Simplify some comparisons in CondPassedLioncash1-4/+4
2015-08-26dyncom: Change return type of CondPassed to boolLioncash1-57/+39
2015-08-25Integrate the MicroProfile profiling libraryYuri Kunde Schlesner1-0/+7
This brings goodies such as a configurable user interface and multi-threaded timeline view.
2015-08-16Memory: Move address type conversion routines to memory.cpp/hYuri Kunde Schlesner2-2/+0
These helpers aren't really part of the kernel, and mem_map.cpp/h is going to be moved there next.
2015-08-16vfp: use std::swap where applicableLioncash2-12/+6
2015-08-11ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.Emmanuel Gil Peyrot4-305/+310
2015-08-11arm_disasm: ARMv6 mul/div and abs media instructionsaroulin2-1/+119
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD, SMMLA, SMMUL, SMMLS USAD8, USADA8
2015-08-11arm_disasm: ARMv6 parallel add/sub media instructionsaroulin2-0/+167
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-09arm_disasm: ARMv6 reversal media instructionsaroulin2-0/+26
REV, REV16, REVSH Only their ARM encoding, Thumb encoding is still missing.
2015-08-09arm_disasm: ARMv6 saturation media instructionsaroulin2-2/+55
SSAT, SSAT16, USAT, USAT16
2015-08-09arm_disasm: ARMv6 packing and sign-extend media instructionsaroulin2-1/+181
PKH, SEL SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-07arm_interface: Implement interface for retrieving VFP registersLioncash4-1/+49
2015-08-07arm_disasm: Remove unnecessary codeLioncash1-12/+4
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06Disassembler: ARMv6K REX instructionsaroulin2-6/+97
2015-08-06Disassembler: ARMv6K hint instructionsaroulin2-0/+56
2015-07-29dyncom: Remove an unused variableLioncash1-3/+0
This was used prior to InterpreterTranslate existing.
2015-07-29dyncom: Handle the case where PC is the source register for STR/VSTM/VLDMLioncash2-21/+40
2015-07-29dyncom: Handle left-operand PC correctly for data-processing opsLioncash1-7/+33
This is considered deprecated in the ARM manual (using PC as an operand), however, this is still able to be executed on the MPCore (which I'm quite sure would be rare to begin with).
2015-07-28dyncom: Remove an unnecessary typedefLioncash2-7/+5
2015-07-28dyncom: Use enum class for instruction decoding resultsLioncash5-41/+40
2015-07-28dyncom: Remove code duplication regarding thumb instructionsLioncash3-23/+12
2015-07-28dyncom: Migrate exclusive memory access control into armstateLioncash2-50/+35
2015-07-28dyncom: Remove duplicated typedef and externLioncash1-4/+0
These are already present in arm_dyncom_dec.h.
2015-07-26dyncom: Use std::array for register arraysLioncash2-28/+29
2015-07-26dyncom: Use ARMul_State as an objectLioncash11-1102/+1022
Gets rid of C-like parameter passing.
2015-07-26dyncom: Remove unnecessary initialization code.Lioncash4-59/+2
Targeting ARM version variants was only a thing on armemu. The reset routine also does basically the same thing as NewState.
2015-07-26dyncom: Remove unnecessary abort-related cruftLioncash2-48/+1
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-26dyncom: Rename armdefs.h to armstate.hLioncash13-31/+31
2015-07-26dyncom: Get rid of skyeye typedefsLioncash7-61/+55
2015-07-26dyncom: Move helper functions to their own headerLioncash9-41/+56
2015-07-26dyncom: Move arminit.cpp and armsupp.cpp into skyeye_commonLioncash2-0/+0
2015-07-26armdefs: Remove unnecessary extern keywordsLioncash1-25/+25
2015-07-21dyncom: Pass SVC immediates directly.Lioncash1-1/+2
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-20dyncom: Properly retrieve the PC value in BX if used.Lioncash1-3/+5
2015-07-18Dyncom: Support for a missing ARMv6 Thumb MOV encodingYuri Kunde Schlesner1-10/+4
2015-07-17arm_dyncom_interpreter: Simplify assignment in SMLAWLioncash1-1/+1
Also a side-benefit of not having implementation-defined behavior.
2015-06-29vfp: Change return type of VFPInit from unsigned int to void.Lioncash2-4/+2
2015-06-29vfp: Handle accesses to FPINST/FPINST2 system registersLioncash4-42/+53
Also has a side-benefit of correcting access to the FPEXC register.
2015-06-28Core, VideoCore: Replace or fix exit() calls.Emmanuel Gil Peyrot2-4/+6
2015-06-28Core: Cleanup core includes.Emmanuel Gil Peyrot1-0/+5
2015-06-28Common: Fix FileUtil includes, and everything relying on those.Emmanuel Gil Peyrot1-0/+1
2015-06-13vfp: Handle accesses to the VFP media feature registersLioncash3-4/+8
These are able to be accessed in any privilege mode.
2015-06-12vfp: Implement VMOVBCR/VMOVBRCLioncash2-5/+8
2015-06-04arm_dyncom_thumb: Fix handling of writeback for thumb LDMIALioncash1-5/+19
2015-06-01arm_dyncom_thumb: Fix encoding of BKPT's immediateLioncash1-1/+4
2015-06-01arm_dyncom_thumb: Implement CPS and SETENDLioncash1-0/+13
2015-06-01arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB.Lioncash1-0/+11
2015-06-01arm_dyncom_thumb: Implement REV, REV16, and REVSH.Lioncash1-2/+12
2015-05-29Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot6-24/+24
2015-05-27arm_dyncom_thumb: Merge STR/LDR table subsets.Lioncash1-22/+11
2015-05-26arm_dyncom_interpreter: Remove unused variableLioncash1-5/+1
Thum decoding directly checks if the thumb bit is set instead of using a temporary.
2015-05-25arm_dyncom_interpreter: Remove unused macroLioncash1-1/+0
2015-05-24dyncom: Get rid of armemu.hLioncash4-49/+29
2015-05-23dyncom: Remove unused cpu parameter from decode_thumb_instrLioncash1-3/+2
2015-05-23dyncom: remove load_r15 from arm_instLioncash2-490/+331
It's entirely unused. Also allows getting rid of more clunky macros.
2015-05-23dyncom: Remove unnecessary parameter for load/store operationsLioncash1-39/+39
2015-05-23VFP: Log as trace to get rid of spamming.bunnei1-23/+23
2015-05-21dyncom: Eliminate clang warningsLioncash4-406/+404
Gets rid of a whole load of missing brace initialization warnings.
2015-05-15Memmap: Re-organize memory function in two filesYuri Kunde Schlesner3-3/+2
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.
2015-05-14dyncom: Add ARMv6K NOP and hint instructions to the decoding tableLioncash2-12/+152
2015-05-14dyncom: Handle some MSR variants individuallyLioncash2-24/+41
This is necessary, as hint instructions will be recognized as MSR, which is pretty bad.
2015-05-14dyncom: Move exclusive load/stores above bbl and swi in the decoding tableLioncash2-14/+15
2015-05-14dyncom: Remove duplicate enums/prototypesLioncash1-7/+1
These are already defined in arm_dyncom_interpreter_dec.cpp.
2015-05-14dyncom: Remove unnecessary definesLioncash1-4/+4
These can simply be const vars.
2015-05-14dyncom: Make translation-unit functions and variables staticLioncash1-66/+64
2015-05-14vfp: Get rid of warningsLioncash2-6/+6
- Unary minus operator applied to unsigned type. - Unsafe use of bool.
2015-05-14dyncom: Remove unnecessary typedefsLioncash2-196/+197
2015-05-14dyncom: Remove unused structsLioncash1-8/+0
2015-05-14dyncom: Removed irrelevant log.bunnei1-2/+0
2015-05-13dyncom: Fix decoding of BKPT's immediateLioncash1-1/+1
A shift here is intended since the representation is imm12:imm4
2015-05-12dyncom: Stub MCRR and MRRCLioncash1-7/+68
There's no other coprocessor outside the VFP (which has its own VMOV variants) in which the MPCore can send/retrieve data from. Stubbed so citra won't crash and burn on the odd chance someone actually tries to use these.
2015-05-11vfp: Handle flush-to-zero mode.Lioncash3-84/+98
2015-05-11fixup! Set the TLS address in the schedulerSubv3-7/+3
2015-05-11Core/Memory: Give every emulated thread it's own TLS area.Subv3-3/+7
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200. This allows some games like Mario Kart 7 to continue further.
2015-05-08Remove unnecessary dyncom header filesLioncash5-80/+2
2015-05-08dyncom: Remove an unnecessary variable in the interpreterLioncash1-19/+17
All this was doing was needlessly aliasing a variable.
2015-05-07Common: Remove common.hYuri Kunde Schlesner3-2/+2
2015-05-07Clean-up includesYuri Kunde Schlesner2-0/+4
2015-05-06HLE: Clean up SVC dispatch mechanismYuri Kunde Schlesner1-2/+2
2015-05-02Dyncom: Move cream cache to ARMul_State.bunnei4-25/+18
2015-04-20dyncom: Remove more unused/unnecessary codeLioncash4-92/+1
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-18dyncom: Remove unused/unnecessary VFP cruftLioncash6-822/+15
2015-04-14Core_ARM11: Replace debug prints with our own logging functions in vfpsingle.Emmanuel Gil Peyrot2-39/+36
2015-04-14Headers: Add some forgotten overrides, thanks clang!Emmanuel Gil Peyrot1-1/+1
2015-04-07dyncom: Remove unnecessary enum and typedefLioncash5-50/+30
Also fixes descriptions in the process.
2015-04-06vfp: Make the FPSID values match the MPCoreLioncash1-7/+7
2015-04-06vfp: Get rid of the VFP_OFFSET macroLioncash5-64/+69
2015-04-06core: Migrate 3DS-specific CP15 register setting into InitLioncash1-8/+0
2015-04-06arm_interface: Support retrieval/storage to CP15 registersLioncash3-0/+25
2015-04-06Move CP15 enum definitions into their own enum.Lioncash5-168/+163
Also gets rid of preprocessor mumbo-jumbo
2015-04-06dyncom: Properly return the value of the user RO thread registerLioncash2-4/+10
2015-04-06dyncom: Set CP15 reset values on initializationLioncash1-0/+60
2015-04-06dyncom: Suppress uninitialized variable warningsLioncash1-4/+4
The switch cases will always be hit, but this makes compilers stop complaining.
2015-04-02dyncom: Move CP15 register writing into its own function.Lioncash4-88/+265
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
2015-04-02dyncom: Move CP15 register reading into its own function.Lioncash4-49/+253
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
2015-03-26dyncom: Migrate InAPrivilegedMode to armsuppLioncash3-4/+7
It's a generic helper function, so it should be here anyway.
2015-03-24dyncom: Implement SRSLioncash1-1/+32
2015-03-24dyncom: Implement RFELioncash1-1/+30
2015-03-24dyncom: Remove unused/unnecessary macros and macro constantsLioncash2-39/+2
2015-03-21armmmu: Remove unnecessary enum valuesLioncash1-30/+20
We don't need to care about XScale or Intel specific ARM stuff.
2015-03-17dyncom: Make Load/Store instructions support big endianLioncash5-82/+198
2015-03-16arm_interface: Get rid of GetTicks.Lioncash3-12/+0
Removes a TODO.
2015-03-15dyncom: Implement SETENDLioncash1-1/+35
2015-03-10dyncom: Minor cleanupLioncash1-26/+7
Assemblers will exit with an error when trying to assemble instructions with disallowed registers.
2015-03-09dyncom: Fix an indexing bug in STMLioncash1-5/+4
Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written.
2015-03-09dyncom: General cleanup of STMLioncash1-16/+14
2015-03-09dyncom: Increment addr when accessing LR in LDMLioncash1-0/+2
2015-03-04vfp: Get rid of warningsLioncash2-4/+4
2015-03-02Add profiling infrastructure and widgetYuri Kunde Schlesner1-0/+8
2015-02-28arm_disasm: Show conditional code for BKPT instructions.Lioncash1-2/+3
Changed cond_to_str to take a uint32, since unsigned numbers are only ever passed to it, and this can be a source of warnings for some compilers (also indexing an array without bounds checking a signed number is kind of iffy).
2015-02-28arm_disasm: Remove unused variableLioncash1-2/+1
Also declared an array as static, as it's only used in this translation unit.
2015-02-26arm: The CP15 Main ID register is not writeableLioncash1-3/+1
2015-02-25arm: Remove unnecessary booleansLioncash2-22/+5
We don't care about any of these.
2015-02-22Cleaned up unaligned access.Kevin Hartman1-17/+2
2015-02-18vfpinstr: Fix trivial signed/unsigned mismatch warningsLioncash1-4/+4
2015-02-17dyncom: Support conditional BKPT instructionsLioncash2-2/+28
2015-02-16dyncom: Actually set the destination register for USAD8/USADA8.Lioncash1-0/+1
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-15vfpdouble: Use %p for printing pointer addresses.Lioncash1-2/+2
2015-02-15arm: Set the A bit on reset.Lioncash1-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.
2015-02-13core: Apply static to local functionsLioncash5-221/+227
2015-02-13arm: General cleanupLioncash13-227/+116
- Remove several typedefs for ARMul_State. - Remove unused functions - Remove unused/unnecessary headers - Removed unused enums, etc.
2015-02-13dyncom: Switch the app and system cores into the correct mode at initializationLioncash4-12/+17
2015-02-13dyncom: Clean up the constructorLioncash3-16/+7
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-13dyncom: Remove warning for SXTAHLioncash1-1/+0
This is tested to work correctly.
2015-02-12arm: Remove ARMul_EmulateInitLioncash4-55/+1
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12armdefs: Remove unnecessary extern CLioncash1-6/+0
2015-02-11arm: Remove ARM26 support.Lioncash2-45/+4
This will never be used. 32-bit is the norm.
2015-02-11arm: Get rid of some magic constants. Specify proper ARM mode.Lioncash3-3/+10
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11arm: Change some more constants into enumsLioncash2-21/+30
2015-02-11Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2-1/+2
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
2015-02-10arm: Remove TRUE/FALSE definesLioncash4-28/+19
- 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-10arm_dyncom_thumb: Make lookup tables staticLioncash1-7/+7
These don't need to be recreated all the time.
2015-02-10dyncom: Add more regs to MCR/MRCLioncash2-18/+35
Adds the registers that were left out of some coprocessor ranges.
2015-02-10vfp: Normalize accumulator for multiply accumulate instructionsLioncash2-0/+6
2015-02-10Scheduler refactor Pt. 1Kevin Hartman3-56/+20
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid for a thread at any given point in the system. * Removes dead code from thread.cpp. * Moves the implementation of resetting a ThreadContext to the corresponding core's implementation. Other changes: * Fixed comments in arm interfaces. * Updated comments in thread.cpp * Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp. * Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-09vfpdouble: Fix the FTOUI NaN sign settingLioncash1-1/+1
This was fixed for vfpsingle, but not vfpdouble
2015-02-09Throw more unused/unnecessary VFP code outLioncash3-215/+1
2015-02-09vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuffLioncash4-192/+153
2015-02-09vfp_helper: Normalize tabs to spacesLioncash1-172/+170
2015-02-06vfp_helper: Remove unnecessary extern C blocksLioncash1-17/+1
2015-02-06vfp: Move FPSID, FPEXC, and FPSCR values over to enums.Lioncash3-150/+104
Also got rid of duplicate definitions of some of these values.
2015-02-04vfp: Fix VCVTLioncash1-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.
2015-02-04vfp: Throw out unused codeLioncash2-1765/+0
2015-02-03dyncom: Remove more unnecessary codeLioncash1-45/+3
2015-02-03core: Fix some warnings on OSXLioncash1-2/+4
2015-02-01vfp: Get rid of some compile warningsLioncash2-6/+3
2015-02-01arm: Clean up ARMul_StateLioncash3-136/+83
Remove unnecessary/unused struct variables.
2015-02-01arm: Adios armemuLioncash12-8576/+164
2015-01-30dyncom: clean up arm_dyncom_dec.hLioncash1-43/+2
2015-01-30arm: Move headers over to pragma onceLioncash7-31/+11
2015-01-30arm: Get rid of armcpu.h and skyeye_types.hLioncash5-113/+0
2015-01-30arm: Clean out armos.h and armmmu.hLioncash2-181/+23
2015-01-30arm: Throw out a lot of unnecessary codeLioncash6-1536/+56
2015-01-30armdefs: Move some defines over to enumsLioncash1-131/+112
2015-01-27dyncom: Minor cleanupLioncash1-126/+137
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-27Update vfp.cppbunnei1-1/+1
VFP: Changed a debug log to trace.
2015-01-23vfp: Clean up vertical alignment for instructionsLioncash1-131/+125
2015-01-22dyncom: Minor cleanupLioncash1-282/+270
Removes some unused macros and cleans up indentation inconsistencies
2015-01-20dyncom: Clarify precedence for ternary statementsLioncash3-3/+3
2015-01-19Cleanup: Logging in CoreChin5-483/+157
2015-01-19dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etcLioncash1-7/+33
2015-01-17dyncom: Handle the ARM A2 encoding of STRT/LDRTLioncash1-10/+24
These were also missing the shifted register case.
2015-01-17dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.Lioncash1-17/+15
2015-01-12vfp: Remove dead codeLioncash1-50/+14
2015-01-12dyncom: Fix 32-bit ASR shifts for immediatesLioncash1-5/+3
2015-01-12dyncom: Remove unused flag macrosLioncash1-15/+3
2015-01-12dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoopLioncash1-97/+108
2015-01-12dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBCLioncash1-38/+41
Also cleans up CMN, and CMP.
2015-01-12dyncom: Add a helper function for addition with a carryLioncash3-12/+26
2015-01-12dyncom: Fix ADC overflow flag settingLioncash1-8/+12
2015-01-12dyncom: Fix conditional execution of MSRLioncash1-29/+31
2015-01-09Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner5-11/+16
2015-01-09DynCom: Add a comment to GetTicks.Subv1-0/+1
2015-01-09Timing: Use CoreTiming::GetTicks to keep track of ticks.Subv2-6/+2
This will keep track of idle ticks for us, and fixes some tickcount-related issues
2015-01-08dyncom: Fix UMAALLioncash1-4/+4
These need to be done as a 64-bit operation.
2015-01-07dyncom: Fix SMULWB/SMULWTLioncash1-10/+7
Wasn't doing proper sign-extension
2015-01-07CoreTiming: Ported the CoreTiming namespace from PPSSPPSubv2-1/+9
Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing.
2015-01-07dyncom: Fix SWPBLioncash1-0/+1
2015-01-07dyncom: Move over SMLALXYLioncash1-1/+56
2015-01-06Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.Kevin Hartman2-16/+18
2015-01-05dyncom: Partially emulate BXJLioncash1-8/+25
Just in case some game studio let the intern write inline assembly or something.
2015-01-05dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATTLioncash1-1/+2
Easy skyeye todo fix.
2015-01-05dyncom: Implement QADD/QSUB/QDADD/QDSUBLioncash4-25/+117
2015-01-04skyeye: Remove duplicate typedefsLioncash4-41/+17
citra already has its own typedefs like this.
2015-01-03dyncom: Implement SMLAWLioncash1-1/+43
2015-01-03VFP: Minor cleanup, functionally the same.bunnei1-2587/+2476
2015-01-03dyncom: Implement REVSHLioncash1-45/+45
Also joins the REV ops into one common place.
2015-01-03dyncom: Implement SMLALD/SMLSLDLioncash1-3/+72
2015-01-03dyncom: Implement SMMLA/SMMUL/SMMLSLioncash1-3/+64
2015-01-03dyncom: Implemented LDREXD/STREXD/LDREXH/STREXHbunnei3-227/+282
2015-01-03dyncom: Remove dead function InterpreterInitInstLengthLioncash1-27/+0
Technically eliminates two memory leaks as well.
2015-01-03armemu: Fix missing Q flag check for SMLSD.Lioncash1-2/+6
2015-01-03dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSDLioncash5-50/+84
2015-01-02dyncom: Implement SXTAB16 and SXTB16Lioncash1-3/+58
2015-01-01dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAXLioncash1-8/+110
2015-01-01Fix SADD8/SSUB8 in the armemuLioncash1-50/+28
2015-01-01dyncom: Implement SADD8/SSUB8Lioncash1-55/+108
2014-12-31dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAXLioncash1-9/+208
2014-12-31dyncom: Massive refactorbunnei2-654/+221
2014-12-30vfp: Get rid of a few warningsLioncash2-2/+2
2014-12-30vfp: Implement VMOVBRRSSLioncash3-12/+44
2014-12-30dyncom: Implement USAT16/SSAT16Lioncash1-2/+61
2014-12-30dyncom: Implement USAT/SSATbunnei3-2/+131
2014-12-30dyncom: Various cleanups to match coding style, no functional changes.bunnei5-7087/+5962
2014-12-29dyncom: Fix SMLALXY's instruction labelsLioncash1-2/+2
They were erroneously labeled as SMLAL.
2014-12-29dyncom: Implement QADD8/QSUB8Lioncash1-32/+42
2014-12-29armemu: Implement QADD8/QSUB8Lioncash3-33/+100
2014-12-29dyncom: Implement UXTB16/UXTAB16Lioncash1-2/+55
2014-12-29vfp: Actually make the code somewhat readableLioncash5-1664/+1053
2014-12-28dyncom: Implement PKHBT and PKHTB.bunnei1-2/+57
2014-12-28armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field.bunnei1-13/+5
2014-12-28dyncom: Implement USAD8/USADA8Lioncash3-3/+53
2014-12-28armemu: Simplify SSAT/SSAT16/SXTB/SXTABLioncash1-71/+48
2014-12-28armemu: Simplify REV/REV16/SXTH/SXTAHLioncash1-38/+26
2014-12-28armemu: Simplify USAT16/UXTB/UXTABLioncash1-65/+42
2014-12-28armemu: Simplify REVSH/UXTH/UXTAHLioncash1-48/+23
2014-12-28armemu: Fix underflows in USAD8/USADA8Lioncash3-4/+14
Initially reported by xdec.
2014-12-27dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.Lioncash3-12/+102
2014-12-27armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAXLioncash3-19/+93
2014-12-27dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAXLioncash1-11/+123
2014-12-27armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAXLioncash1-2/+73
2014-12-26ARM: Add a mechanism for faking CPU time elapsed during HLE.bunnei5-95/+31
- Also a few cleanups.
2014-12-25armemu: Implement SMMUL, SMMLA, and SMMLS.Lioncash1-2/+30
2014-12-24armemu: Implement SMLALD/SMLSLDLioncash1-2/+33
2014-12-24armemu: Fix GE/Q flag setting semanticsLioncash1-62/+56
2014-12-23armemu: Set the Q flag correctly for much of the other opsLioncash1-8/+8
They were setting the old S flag.
2014-12-23armemu: Set the Q flag properly for SMLAD/SMUADLioncash3-13/+28
2014-12-23armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation.Lioncash1-9/+23
2014-12-23armemu: Fix SELLioncash1-1/+1
Needs to use the updated state of the CPSR.
2014-12-23armemu: Fix construction of the CPSRLioncash4-15/+54
2014-12-23armemu: Fix retrieval of the CPSR in MRS instructions.Lioncash1-1/+1
2014-12-22dyncom: Move over QADD16/QASX/QSAX/QSUB16Lioncash1-7/+87
2014-12-22dyncom: Move SEL overLioncash1-1/+58
2014-12-22dyncom: Move over SASX/SSAX/SADD16/SSUB16Lioncash1-7/+102
2014-12-21More warning cleanupsChin3-9/+6
2014-12-21License changepurpasmart968-8/+8
2014-12-21armemu: Implement SADD8/SSUB8Lioncash1-14/+87
2014-12-20armemu: Should be using labs for USAD8/USADA8Lioncash1-4/+4
2014-12-19armemu: Implement QASX and QSAXLioncash1-7/+20
2014-12-19armemu: Implement SMLSDLioncash1-6/+10
2014-12-19dyncom: Implement UMAALLioncash1-1/+47
2014-12-19armemu: Implement USAD8 and USADA8Lioncash1-1/+24
2014-12-19armemu: Fix SSAT16Lioncash1-1/+1
The lower-bound would never be negative like it should
2014-12-19armemu: Clean up naming and formatting for SSAT16Lioncash1-14/+20
2014-12-18armemu: Fix lower-bounds clamping for USAT16Lioncash1-1/+6
2014-12-18armemu: More concise names for USAT16-related variablesLioncash1-11/+15
2014-12-18armemu: Get rid of bitwise parenthesis warningsLioncash1-4/+4
2014-12-18armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX.Lioncash1-4/+29
2014-12-18armemu: Combine SSUB16, SADD16, SASX, and SSAX.Lioncash1-34/+23
2014-12-17armemu: Unset GE flags for UADD8 if results are < 0x100Lioncash1-4/+22
Reference manual states these must be set to zero if this case is true.
2014-12-17armemu: Fix SSUB16Lioncash1-8/+8
Broken from the same reason SADD16 was. The lo part of the result should only be constructed from the lo halfwords of rm and rn. The hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17armemu: Implement UMAALLioncash1-3/+25
2014-12-17armemu: Narrow the scope of some variables in handle_v6_insnLioncash1-12/+9
There's no reason to have these in the outer-most scope.
2014-12-17armemu: Fix SADD16Lioncash1-8/+9
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn.
2014-12-17armemu: Fix PKHTBNormmatt1-6/+12
2014-12-17armemu: Implement REVSHNormmatt1-5/+9
2014-12-17armemu: Fix UXTAB/UXTAHNormmatt1-4/+4
2014-12-17armemu: Fix SXTABNormmatt1-2/+2
2014-12-17armemu: Fix SXTAHNormmatt1-2/+3
2014-12-16armemu: Fix FTOUI NaN sign.Normmatt1-1/+1
2014-12-16armemu: Fix FSUBS bug where NaN shouldn't be negatedNormmatt1-1/+4
2014-12-16armemu: Fix SMUAD, SMUSD, and SMLADLioncash1-3/+3
Wrong values were being multiplied together.
2014-12-16armemu: Join SMUAD, SMUSD, and SMLADLioncash1-38/+35
2014-12-16armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16.Lioncash1-2/+2
2014-12-16armemu: Join QADD16 and QSUB16 together.Lioncash1-33/+37
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
2014-12-16armemu: Implement UXTAB16Lioncash1-10/+25
2014-12-15armemu: Fix UXTB16Lioncash1-12/+12
Rotation bits are 10 and 11, not 9 and 10.
2014-12-15ARM: Pull some SkyEye fixes from 3dmoo.bunnei3-419/+485
2014-12-14Clean up armdefs.hLioncash1-306/+169
2014-12-13Convert old logging calls to new logging macrosYuri Kunde Schlesner5-109/+109
2014-12-08armemu: Fix SSAXLioncash1-1/+1
2014-12-08armemu: Fix SASXLioncash1-1/+1
2014-12-08armemu: Fix parenthesis warnings regarding bitwise opsLioncash1-4/+4
2014-11-29dyncom: Use unordered_map rather than the terrible 2-level bb_mapYuri Kunde Schlesner1-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.
2014-11-29arm_dyncom_interpreter: Get rid of unused var warningsLioncash1-4/+2
2014-11-29Add comment regarding __WIN32__ in SkyEye codedarkf1-0/+4
2014-11-29Fix MinGW builddarkf1-0/+4
2014-11-25Remove unused includes to common/thread.hEmmanuel Gil Peyrot1-2/+0
2014-11-24HLE: Revamp error handling throrough the HLE codeYuri Kunde Schlesner1-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.
2014-11-24Change some SkyEye defines to const intsYuri Kunde Schlesner2-34/+16
This prevents them from interfering with other constants defined in different namespaces.
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot7-12/+12
2014-11-18Fix documentation of parametersLioncash2-2/+2
2014-11-14ARM_Interface: Make destructor virtualLioncash1-1/+1
Fixes some warnings on OSX.
2014-11-12ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).bunnei1-2/+2
- Fixes single stepping in debugger.
2014-11-12ARM: Removed unnecessary goto with each instruction.bunnei1-43/+39
2014-11-12ARM: Fixed several dyncom bugs.bunnei3-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.
2014-11-03Fix compilation errorsSean Maas1-2/+2
2014-11-02ARM: Merged additional ARMv6 instructions implemented by 3dmoo.bunnei1-42/+234
2014-11-02ARM: Merge latest VFP fixes from 3dmoo team.bunnei4-2096/+2388
2014-10-31Fix VFP compilation errors with gccYuri Kunde Schlesner1-12/+12
2014-10-26vfp_helper: Get rid of integer type redefinitionsLioncash1-7/+1
2014-10-26Add `override` keyword through the code.Yuri Kunde Schlesner2-18/+18
This was automated using `clang-modernize`.
2014-10-25ARM: Removed unnecessary and unused SkyEye MMU code.bunnei21-7728/+326
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
2014-10-25ARM: Removed unused armos code from SkyEye.bunnei3-746/+0
2014-10-25ARM: Updated dyncom core to use fast label lookup table on clang.bunnei1-3/+7
2014-10-25ARM: Integrate SkyEye faster "dyncom" interpreter.bunnei18-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.
2014-10-25ARM: Reorganized file structure to move shared SkyEye code to a more common area.bunnei31-63/+63
Removed s_ prefix
2014-09-09core: Prune redundant includesarchshift1-1/+0
2014-09-09Added string_util to common, small changes in loader.cpparchshift1-39/+39
2014-09-07Dead code removal: video_core.cpp, load_symbol_map.cpparchshift1-1/+1
2014-09-06core: Make the ARM disassembler use std::string internallyLioncash3-189/+143
2014-08-31Threading: Fix thread starting to execute first instruction correctly.bunnei1-1/+1
2014-08-28Threading: Fix thread starting to execute first instruction correctly.bunnei1-1/+1
2014-08-20ARM: Remove a forgotten const in vfp.Emmanuel Gil Peyrot2-2/+2
2014-07-24ARM: Synchronize Citra's SkyEye core with 3dmoo's.bunnei6-5919/+5303
2014-07-20core: Kill off type redefenitions in armdefs.hLioncash1-7/+0
2014-06-05arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expectedbunnei1-1/+1
2014-06-05arm: fixed bug in how thread context switch occurs with SkyEyebunnei1-2/+5
2014-06-05arm: reverting a change made with cb0663de - this has to have been a typo!bunnei1-1/+1
2014-06-02arm: added option to prepare CPU core (while mid-instruction) for thread reschedulebunnei3-0/+11
2014-06-01Added '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 fieldDisruption1-1/+1
2014-05-30arm: removed unnecessary code when calling SVC from skyeyebunnei1-16/+0
2014-05-23arm_interpreter: fixed load context to currently resume a threadbunnei1-1/+4
2014-05-21arm: removed include of windows.h from armdefs.h to arminit.c (only module that uses it)bunnei2-4/+3
2014-05-21armemu: missed rename of "Syscall" to "SVC"bunnei1-1/+1
2014-05-21ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guidebunnei3-45/+45
2014-05-21ARM_Interface: added SaveContext and LoadContext functions for HLE thread switchingbunnei3-1/+63
2014-05-20VFP: disable DBG messages because they spam the console with unimportant skyeye junkbunnei1-1/+1
2014-05-17Fixed vfp issuesarchshift4-10/+10
2014-05-17ignore thumbemu 0xDEADCODE debugging catch on MCRbunnei1-2/+1
2014-05-17updated how we call ARM core to make things much fasterbunnei5-20/+30
2014-05-17same fix as last commit - just for vfpsingle.cppbunnei1-2/+2
2014-05-17another VFP fix for GCCbunnei1-2/+2
2014-05-17fixed VFP DBG log for GCCbunnei1-1/+1
2014-05-17- reenabled MCR and MRC functions now that VFP is attachedbunnei2-95/+92
- removed HLE::CallMCR function (was pointless)
2014-05-17- removed unused stubbed out codebunnei5-33/+27
- fixed some compiler issues with xscale_copro when porting code to Windows - fixed some #include's
2014-05-16added maverick.cpp to ARM core from skyeyebunnei1-0/+1206
2014-05-16fixed includesbunnei1-2/+2
2014-05-16enabled CP_ACCESS_ALLOWEDbunnei1-6/+4
2014-05-16fixed include pathbunnei1-1/+1
2014-05-16removed undefined function ARMul_ConsolePrintbunnei1-1/+1
2014-05-16added missing armcopro from skyeyebunnei3-251/+1093
2014-05-16added missing skyeye mmu codebunnei9-17/+3272
2014-05-16fixed armmmu importsbunnei1-5/+5
2014-05-16- moved mmu to arm/interpreter folderbunnei13-0/+8755
- added initial VFP code from skyeye
2014-05-12added option to set CPSR register to arm_interfacebunnei3-0/+20
2014-05-07- disable strict alignment on LDRD/STRDbunnei1-17/+22
- handle RD in STREX/STREXB
2014-05-06commented out useless debug logs that just spammed consolebunnei1-3/+3
2014-05-02- added CallMCR function to coprocessor HLE modulebunnei1-22/+23
- moved instruction decoding to coprocessor HLE module
2014-05-02renamed hle "mrc" module to "coprocessor"bunnei1-8/+8
2014-05-01added a module to load symbol map files for debuggingbunnei2-0/+46
2014-04-28removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable classbunnei2-3/+1
2014-04-28removed commented out line - this was for an unimplemented MRC call, no longer need to leave this herebunnei1-1/+0
2014-04-25moved HLE::MRC to its own module, added support for catching data synchronization barrier commandbunnei2-3/+5
2014-04-25added disassembly to unimplemented instructionbunnei1-1/+6
2014-04-23fixes to build on linuxbunnei1-0/+2
2014-04-13- added HLE to connect to "srv:" servicebunnei1-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
2014-04-12hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...)bunnei1-2/+6
2014-04-12added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector)bunnei1-0/+11
2014-04-11base code to call a syscall from ARM11 appcorebunnei1-0/+3
2014-04-11missed this file with commit 95e5436fbunnei1-1/+10
2014-04-11cleaned up arm_interface, added a setter to set registers for use with HLE return valuesbunnei2-6/+70
2014-04-09fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend modulebunnei3-94/+57
2014-04-09fixed project includes to use new directory structurebunnei10-27/+27
2014-04-09got rid of 'src' folders in each sub-projectbunnei25-0/+15528