Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2018-01-20 | Fixes some cast warnings, partial port of citra #3064 (#106) | River City Ransomware | 1 | -3/+3 | |
* Fixes some cast warnings, partially fixes citra #3064 * Converted casts to uint32_t to u32 * Ran clang-format | |||||
2018-01-16 | clang-format | MerryMage | 1 | -1/+2 | |
2018-01-16 | Build: Automagically handle unicorn | James Rowe | 1 | -1/+1 | |
On MSVC if unicorn isn't found, fallback to bundled unicorn On everything else, fallback to building unicorn in externals Also fixes loading unicorn in msvc | |||||
2018-01-16 | Build: Add unicorn as a submodule and build it if needed | James Rowe | 1 | -1/+1 | |
Adds a cmake custom target that will build unicorn on first compile and uses this in the build scripts as well. Updates Appveyor and Travis build scripts to work with the new unicorn build, and updates the paths to all of the different artifacts. | |||||
2018-01-13 | Update dynarmic to bc73004 | MerryMage | 1 | -12/+17 | |
bc73004 a64_merge_interpret_blocks: Remove debug output 4e656ed tests/A64: Randomize PSTATE.<NZCV> fd9530b A64: Optimization: Merge interpret blocks 3c9eb04 testenv: Use format constants 324f3fc tests/A64: Unicorn interface fixes 98ecbe7 tests/A64: Fuzz against unicorn b1d38e7 tests/A64: Move TestEnvironment to own header 5218ad9 A64/data_processing_pcrel: bug: ADR{,P} instructions sign extend their immediate b1a8c39 A64/data_processing_addsub: bug: {ADD,SUB}S (extended register) instructions write to ZR when d = 31 64827fb a64_emit_x64: bug: A64CallSupervisor trampled callee-save registers 1bfa04d emit_x64: bug: OP m/r64, imm32 form instructions sign-extend their immediate on x64 edadeea A64 inferface: Use two argument static_assert 9ab1304 A64: Add ExceptionRaised IR instruction 6843eed Update readme 7438d07 A64/translate: Add TranslateSingleInstruction function | |||||
2018-01-13 | arm_unicorn: Log unmapped memory access address. | bunnei | 1 | -1/+1 | |
2018-01-13 | yuzu: Update license text to be consistent across project. | bunnei | 4 | -4/+4 | |
2018-01-12 | arm_dynarmic: Implement core | MerryMage | 5 | -62/+161 | |
2018-01-04 | arm_unicorn: Load/release unicorn DLL. | bunnei | 1 | -0/+16 | |
2018-01-04 | unicorn: Use for arm interface on Windows. | bunnei | 2 | -0/+240 | |
2018-01-04 | arm_dynarmic: More cleanup. | bunnei | 1 | -6/+0 | |
2018-01-04 | arm_dynarmic: Gut interface until dynarmic is ready for general use. | bunnei | 2 | -142/+44 | |
2018-01-03 | arm: Remove SkyEye/Dyncom code that is ARMv6-only. | bunnei | 28 | -14492/+6 | |
2017-10-23 | logging: Rename category "Core_ARM11" to "Core_ARM". | bunnei | 7 | -86/+86 | |
2017-09-30 | arm_interface: Set TLS address for dynarmic core. | bunnei | 5 | -0/+32 | |
2017-09-30 | arm: Use 64-bit addressing in a bunch of places. | bunnei | 5 | -74/+107 | |
2017-09-30 | Moved down_count to CoreTiming | Huw Pascoe | 5 | -28/+2 | |
2017-09-25 | ARM_Interface: Implement PageTableChanged | MerryMage | 5 | -6/+34 | |
2017-09-15 | CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime. | Subv | 1 | -1/+3 | |
2017-08-21 | CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions. | Subv | 1 | -1/+1 | |
2017-08-21 | Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache. | Subv | 2 | -4/+4 | |
Fixes a few warnings. | |||||
2017-08-21 | Dyncom: Fixed a conversion warning when decoding thumb instructions. | Subv | 1 | -1/+1 | |
2017-05-22 | fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled. | Subv | 2 | -4/+0 | |
2017-05-14 | Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd. | Subv | 1 | -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-09 | Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions. | Subv | 2 | -2/+2 | |
2017-05-09 | Revert "Remove `exceptions` parameter from `normaliseround` VFP functions" | Subv | 3 | -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-08 | Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled. | Subv | 2 | -0/+30 | |
Inputs are still not flushed to 0 if they are denormals. | |||||
2017-05-08 | Dyncom: Remove disassembler code | Yuri Kunde Schlesner | 3 | -1587/+2 | |
Had licensing issue around it, in addition to several bugs. Closes #1632, #1280 | |||||
2017-05-08 | Dyncom: Tweak types and log formatting | Yuri Kunde Schlesner | 3 | -8/+10 | |
2017-05-08 | Remove unused symbols code | Yuri Kunde Schlesner | 2 | -44/+0 | |
2017-02-18 | dyncom: Correct SXTAB16 and SXTB16 | MerryMage | 1 | -4/+4 | |
2017-02-03 | arm_dynarmic: Update memory interface | MerryMage | 1 | -10/+10 | |
2017-02-03 | arm_dynarmic: CP15 support | MerryMage | 4 | -5/+128 | |
2016-12-22 | arm_dynarmic: Provide MemoryReadCode callback | MerryMage | 1 | -0/+1 | |
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea | |||||
2016-12-22 | ThreadContext: Move from "core" to "arm_interface". | bunnei | 5 | -22/+21 | |
2016-12-15 | gdbstub: Remove global variable from public interface | Lioncash | 2 | -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-15 | core: Add missing #pragma once directives where applicable | Lioncash | 1 | -0/+2 | |
2016-12-11 | Core: Add a forgotten #include <cstring> for memcpy. | Emmanuel Gil Peyrot | 1 | -0/+1 | |
2016-11-26 | dynarmic: Add ticks based on ticks executed, not ticks requested | MerryMage | 1 | -2/+2 | |
2016-11-25 | Expose page table to dynarmic for optimized reads and writes to the JIT | James Rowe | 1 | -0/+1 | |
2016-09-21 | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 11 | -11/+11 | |
2016-09-21 | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 15 | -40/+18 | |
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | |||||
2016-09-19 | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 6 | -16/+15 | |
2016-09-18 | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 22 | -6274/+5726 | |
2016-09-18 | Dyncom: Disable clang-format on the decoding table. | Emmanuel Gil Peyrot | 1 | -0/+3 | |
2016-09-15 | arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg. | bunnei | 1 | -5/+12 | |
2016-09-15 | arm: ResetContext shouldn't be part of ARM_Interface. | bunnei | 5 | -29/+0 | |
2016-09-15 | arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword. | bunnei | 2 | -2/+2 | |
2016-09-15 | dyncom: Use VFP_FPSCR/VFP_FPEXC. | bunnei | 1 | -4/+4 | |
2016-09-15 | dynarmic: Implement ARM CPU interface. | bunnei | 2 | -0/+227 | |
2016-08-27 | ARM: add ClearInstructionCache function | wwylele | 3 | -0/+11 | |
2016-08-22 | dyncom: Read-after-write in SMLA | MerryMage | 1 | -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-14 | Dyncom: Correct implementation of STM for R15 | MerryMage | 1 | -3/+4 | |
2016-07-28 | dyncom: Fix translation of thumb REVSH | MerryMage | 1 | -4/+13 | |
2016-06-12 | Make arm_dyncom_trans* into a fully fledged compilation unit | archshift | 3 | -53/+71 | |
2016-06-12 | arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive | archshift | 1 | -15/+15 | |
2016-06-11 | arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func | archshift | 2 | -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-11 | arm_dyncom_interpreter: rename operation functions to fit style guide | archshift | 2 | -34/+34 | |
2016-06-11 | arm_dyncom_interpreter: Rename anonymous enum to TransExtData | archshift | 4 | -166/+164 | |
2016-06-11 | arm_dyncom_interpreter.cpp: #include translation info from inc files | archshift | 3 | -2648/+2652 | |
2016-06-11 | Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)" | archshift | 4 | -2729/+2727 | |
2016-06-09 | arm_dyncom_interpreter: rename operation functions to fit style guide | archshift | 2 | -42/+42 | |
2016-06-09 | arm_dyncom_interpreter.cpp: Split by translation and interpreter logic | archshift | 4 | -2727/+2729 | |
To facilitate the split, some small changes were made to names of various structures and functions. | |||||
2016-05-18 | Remove `exceptions` parameter from `normaliseround` VFP functions | Jannik Vogel | 3 | -28/+57 | |
2016-05-18 | Fix exception propagation for VFP single precision | Jannik Vogel | 2 | -33/+38 | |
2016-05-18 | Fix exception propagation for VFP double precision | Jannik Vogel | 2 | -34/+39 | |
2016-05-18 | Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD | Jannik Vogel | 1 | -4/+8 | |
2016-05-17 | Set fpscr for new threads | Jannik Vogel | 1 | -0/+1 | |
2016-05-16 | Fix ftoi behaviour | Jannik Vogel | 2 | -22/+53 | |
2016-05-16 | Respect fpscr in ftoiz | Jannik Vogel | 2 | -4/+4 | |
2016-05-16 | Disable VFP3 instructions | Jannik Vogel | 1 | -0/+4 | |
2016-05-09 | dyncom: Reset the context into user mode correctly | Lioncash | 1 | -1/+1 | |
The other mode was system mode. | |||||
2016-04-29 | Common: Remove section measurement from profiler (#1731) | Yuri Kunde Schlesner | 1 | -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-09 | Fix BLX LR opcode interpretation | mailwl | 1 | -2/+3 | |
2016-04-08 | Update cpsr (T)humb bit while creating thread | mailwl | 1 | -1/+1 | |
2016-04-06 | Fix thumb ADR instruction alignment | mailwl | 1 | -6/+2 | |
2016-04-05 | Common: Remove Common::make_unique, use std::make_unique | MerryMage | 1 | -3/+2 | |
2016-03-30 | DynCom: Optimize single stepping | MerryMage | 1 | -26/+57 | |
2016-03-21 | armstate: Correct FIQ register banking | Lioncash | 1 | -4/+3 | |
FIQ has seven banked registers (R8 to R14), not two. | |||||
2016-01-19 | ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name | rob turner | 1 | -9/+9 | |
2015-12-30 | arm_dyncom_dec: Fix decoding of VMLS | Lioncash | 2 | -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-28 | dyncom: Handle modifying the APSR via an MRC instruction | Lioncash | 1 | -12/+9 | |
2015-12-21 | dyncom: Remove PC dispatch from several instructions | Lioncash | 1 | -94/+0 | |
These instructions aren't capable of using the PC as a destination | |||||
2015-12-20 | dyncom: Handle unprivileged load/store variants correctly | Lioncash | 1 | -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-06 | dyncom: Remove static keyword from header functions | Lioncash | 3 | -19/+19 | |
2015-12-06 | arm_interface: Make GetNumInstructions const | Lioncash | 1 | -1/+1 | |
2015-12-06 | arm_interface: directly initialize class members | Lioncash | 1 | -7/+2 | |
2015-12-06 | dyncom: const correctness changes | Lioncash | 3 | -7/+7 | |
2015-11-29 | armstate: Zero out the registers on creation | Lioncash | 1 | -11/+11 | |
std::array isn't always guaranteed to explicitly zero out it's contents without an initializer list. | |||||
2015-10-12 | Remove unnecessary new lines, changed Deinit to Shutdown | polaris- | 1 | -1/+0 | |
2015-10-09 | CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls. | Emmanuel Gil Peyrot | 3 | -45/+45 | |
The LOG_* function itself already appends one. | |||||
2015-10-04 | Use BreakpointAddress struct instead of passing address directly | polaris- | 1 | -3/+3 | |
2015-10-04 | Implement gdbstub | polaris- | 3 | -9/+69 | |
2015-09-20 | Implement gdbstub | polaris- | 3 | -9/+69 | |
2015-09-16 | general: Silence some warnings when using clang | Lioncash | 1 | -1/+0 | |
2015-09-11 | General: Replace NULL and '0' usages with nullptr where applicable | Lioncash | 3 | -30/+30 | |
2015-09-06 | DynCom: Converted all 0xE condition code checks to ConditionCode::AL | archshift | 2 | -132/+132 | |
2015-08-26 | dyncom: Simplify some comparisons in CondPassed | Lioncash | 1 | -4/+4 | |
2015-08-26 | dyncom: Change return type of CondPassed to bool | Lioncash | 1 | -57/+39 | |
2015-08-25 | Integrate the MicroProfile profiling library | Yuri Kunde Schlesner | 1 | -0/+7 | |
This brings goodies such as a configurable user interface and multi-threaded timeline view. | |||||
2015-08-16 | Memory: Move address type conversion routines to memory.cpp/h | Yuri Kunde Schlesner | 2 | -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-16 | vfp: use std::swap where applicable | Lioncash | 2 | -12/+6 | |
2015-08-11 | ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types. | Emmanuel Gil Peyrot | 4 | -305/+310 | |
2015-08-11 | arm_disasm: ARMv6 mul/div and abs media instructions | aroulin | 2 | -1/+119 | |
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD, SMMLA, SMMUL, SMMLS USAD8, USADA8 | |||||
2015-08-11 | arm_disasm: ARMv6 parallel add/sub media instructions | aroulin | 2 | -0/+167 | |
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8} | |||||
2015-08-09 | arm_disasm: ARMv6 reversal media instructions | aroulin | 2 | -0/+26 | |
REV, REV16, REVSH Only their ARM encoding, Thumb encoding is still missing. | |||||
2015-08-09 | arm_disasm: ARMv6 saturation media instructions | aroulin | 2 | -2/+55 | |
SSAT, SSAT16, USAT, USAT16 | |||||
2015-08-09 | arm_disasm: ARMv6 packing and sign-extend media instructions | aroulin | 2 | -1/+181 | |
PKH, SEL SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH | |||||
2015-08-07 | arm_interface: Implement interface for retrieving VFP registers | Lioncash | 4 | -1/+49 | |
2015-08-07 | arm_disasm: Remove unnecessary code | Lioncash | 1 | -12/+4 | |
This part of disassembly only determines the opcode, there's no need for offset calculation here. | |||||
2015-08-06 | Disassembler: ARMv6K REX instructions | aroulin | 2 | -6/+97 | |
2015-08-06 | Disassembler: ARMv6K hint instructions | aroulin | 2 | -0/+56 | |
2015-07-29 | dyncom: Remove an unused variable | Lioncash | 1 | -3/+0 | |
This was used prior to InterpreterTranslate existing. | |||||
2015-07-29 | dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM | Lioncash | 2 | -21/+40 | |
2015-07-29 | dyncom: Handle left-operand PC correctly for data-processing ops | Lioncash | 1 | -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-28 | dyncom: Remove an unnecessary typedef | Lioncash | 2 | -7/+5 | |
2015-07-28 | dyncom: Use enum class for instruction decoding results | Lioncash | 5 | -41/+40 | |
2015-07-28 | dyncom: Remove code duplication regarding thumb instructions | Lioncash | 3 | -23/+12 | |
2015-07-28 | dyncom: Migrate exclusive memory access control into armstate | Lioncash | 2 | -50/+35 | |
2015-07-28 | dyncom: Remove duplicated typedef and extern | Lioncash | 1 | -4/+0 | |
These are already present in arm_dyncom_dec.h. | |||||
2015-07-26 | dyncom: Use std::array for register arrays | Lioncash | 2 | -28/+29 | |
2015-07-26 | dyncom: Use ARMul_State as an object | Lioncash | 11 | -1102/+1022 | |
Gets rid of C-like parameter passing. | |||||
2015-07-26 | dyncom: Remove unnecessary initialization code. | Lioncash | 4 | -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-26 | dyncom: Remove unnecessary abort-related cruft | Lioncash | 2 | -48/+1 | |
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary. | |||||
2015-07-26 | dyncom: Rename armdefs.h to armstate.h | Lioncash | 13 | -31/+31 | |
2015-07-26 | dyncom: Get rid of skyeye typedefs | Lioncash | 7 | -61/+55 | |
2015-07-26 | dyncom: Move helper functions to their own header | Lioncash | 9 | -41/+56 | |
2015-07-26 | dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common | Lioncash | 2 | -0/+0 | |
2015-07-26 | armdefs: Remove unnecessary extern keywords | Lioncash | 1 | -25/+25 | |
2015-07-21 | dyncom: Pass SVC immediates directly. | Lioncash | 1 | -1/+2 | |
Previously it would just re-read the already decoded instruction and extract the immediate value. | |||||
2015-07-20 | dyncom: Properly retrieve the PC value in BX if used. | Lioncash | 1 | -3/+5 | |
2015-07-18 | Dyncom: Support for a missing ARMv6 Thumb MOV encoding | Yuri Kunde Schlesner | 1 | -10/+4 | |
2015-07-17 | arm_dyncom_interpreter: Simplify assignment in SMLAW | Lioncash | 1 | -1/+1 | |
Also a side-benefit of not having implementation-defined behavior. | |||||
2015-06-29 | vfp: Change return type of VFPInit from unsigned int to void. | Lioncash | 2 | -4/+2 | |
2015-06-29 | vfp: Handle accesses to FPINST/FPINST2 system registers | Lioncash | 4 | -42/+53 | |
Also has a side-benefit of correcting access to the FPEXC register. | |||||
2015-06-28 | Core, VideoCore: Replace or fix exit() calls. | Emmanuel Gil Peyrot | 2 | -4/+6 | |
2015-06-28 | Core: Cleanup core includes. | Emmanuel Gil Peyrot | 1 | -0/+5 | |
2015-06-28 | Common: Fix FileUtil includes, and everything relying on those. | Emmanuel Gil Peyrot | 1 | -0/+1 | |
2015-06-13 | vfp: Handle accesses to the VFP media feature registers | Lioncash | 3 | -4/+8 | |
These are able to be accessed in any privilege mode. | |||||
2015-06-12 | vfp: Implement VMOVBCR/VMOVBRC | Lioncash | 2 | -5/+8 | |
2015-06-04 | arm_dyncom_thumb: Fix handling of writeback for thumb LDMIA | Lioncash | 1 | -5/+19 | |
2015-06-01 | arm_dyncom_thumb: Fix encoding of BKPT's immediate | Lioncash | 1 | -1/+4 | |
2015-06-01 | arm_dyncom_thumb: Implement CPS and SETEND | Lioncash | 1 | -0/+13 | |
2015-06-01 | arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB. | Lioncash | 1 | -0/+11 | |
2015-06-01 | arm_dyncom_thumb: Implement REV, REV16, and REVSH. | Lioncash | 1 | -2/+12 | |
2015-05-29 | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 6 | -24/+24 | |
2015-05-27 | arm_dyncom_thumb: Merge STR/LDR table subsets. | Lioncash | 1 | -22/+11 | |
2015-05-26 | arm_dyncom_interpreter: Remove unused variable | Lioncash | 1 | -5/+1 | |
Thum decoding directly checks if the thumb bit is set instead of using a temporary. | |||||
2015-05-25 | arm_dyncom_interpreter: Remove unused macro | Lioncash | 1 | -1/+0 | |
2015-05-24 | dyncom: Get rid of armemu.h | Lioncash | 4 | -49/+29 | |
2015-05-23 | dyncom: Remove unused cpu parameter from decode_thumb_instr | Lioncash | 1 | -3/+2 | |
2015-05-23 | dyncom: remove load_r15 from arm_inst | Lioncash | 2 | -490/+331 | |
It's entirely unused. Also allows getting rid of more clunky macros. | |||||
2015-05-23 | dyncom: Remove unnecessary parameter for load/store operations | Lioncash | 1 | -39/+39 | |
2015-05-23 | VFP: Log as trace to get rid of spamming. | bunnei | 1 | -23/+23 | |
2015-05-21 | dyncom: Eliminate clang warnings | Lioncash | 4 | -406/+404 | |
Gets rid of a whole load of missing brace initialization warnings. | |||||
2015-05-15 | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 3 | -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-14 | dyncom: Add ARMv6K NOP and hint instructions to the decoding table | Lioncash | 2 | -12/+152 | |
2015-05-14 | dyncom: Handle some MSR variants individually | Lioncash | 2 | -24/+41 | |
This is necessary, as hint instructions will be recognized as MSR, which is pretty bad. | |||||
2015-05-14 | dyncom: Move exclusive load/stores above bbl and swi in the decoding table | Lioncash | 2 | -14/+15 | |
2015-05-14 | dyncom: Remove duplicate enums/prototypes | Lioncash | 1 | -7/+1 | |
These are already defined in arm_dyncom_interpreter_dec.cpp. | |||||
2015-05-14 | dyncom: Remove unnecessary defines | Lioncash | 1 | -4/+4 | |
These can simply be const vars. | |||||
2015-05-14 | dyncom: Make translation-unit functions and variables static | Lioncash | 1 | -66/+64 | |
2015-05-14 | vfp: Get rid of warnings | Lioncash | 2 | -6/+6 | |
- Unary minus operator applied to unsigned type. - Unsafe use of bool. | |||||
2015-05-14 | dyncom: Remove unnecessary typedefs | Lioncash | 2 | -196/+197 | |
2015-05-14 | dyncom: Remove unused structs | Lioncash | 1 | -8/+0 | |
2015-05-14 | dyncom: Removed irrelevant log. | bunnei | 1 | -2/+0 | |
2015-05-13 | dyncom: Fix decoding of BKPT's immediate | Lioncash | 1 | -1/+1 | |
A shift here is intended since the representation is imm12:imm4 | |||||
2015-05-12 | dyncom: Stub MCRR and MRRC | Lioncash | 1 | -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-11 | vfp: Handle flush-to-zero mode. | Lioncash | 3 | -84/+98 | |
2015-05-11 | fixup! Set the TLS address in the scheduler | Subv | 3 | -7/+3 | |
2015-05-11 | Core/Memory: Give every emulated thread it's own TLS area. | Subv | 3 | -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-08 | Remove unnecessary dyncom header files | Lioncash | 5 | -80/+2 | |
2015-05-08 | dyncom: Remove an unnecessary variable in the interpreter | Lioncash | 1 | -19/+17 | |
All this was doing was needlessly aliasing a variable. | |||||
2015-05-07 | Common: Remove common.h | Yuri Kunde Schlesner | 3 | -2/+2 | |
2015-05-07 | Clean-up includes | Yuri Kunde Schlesner | 2 | -0/+4 | |
2015-05-06 | HLE: Clean up SVC dispatch mechanism | Yuri Kunde Schlesner | 1 | -2/+2 | |
2015-05-02 | Dyncom: Move cream cache to ARMul_State. | bunnei | 4 | -25/+18 | |
2015-04-20 | dyncom: Remove more unused/unnecessary code | Lioncash | 4 | -92/+1 | |
Gets rid of a sizeable amount of stuff in armdefs. | |||||
2015-04-18 | dyncom: Remove unused/unnecessary VFP cruft | Lioncash | 6 | -822/+15 | |
2015-04-14 | Core_ARM11: Replace debug prints with our own logging functions in vfpsingle. | Emmanuel Gil Peyrot | 2 | -39/+36 | |
2015-04-14 | Headers: Add some forgotten overrides, thanks clang! | Emmanuel Gil Peyrot | 1 | -1/+1 | |
2015-04-07 | dyncom: Remove unnecessary enum and typedef | Lioncash | 5 | -50/+30 | |
Also fixes descriptions in the process. | |||||
2015-04-06 | vfp: Make the FPSID values match the MPCore | Lioncash | 1 | -7/+7 | |
2015-04-06 | vfp: Get rid of the VFP_OFFSET macro | Lioncash | 5 | -64/+69 | |
2015-04-06 | core: Migrate 3DS-specific CP15 register setting into Init | Lioncash | 1 | -8/+0 | |
2015-04-06 | arm_interface: Support retrieval/storage to CP15 registers | Lioncash | 3 | -0/+25 | |
2015-04-06 | Move CP15 enum definitions into their own enum. | Lioncash | 5 | -168/+163 | |
Also gets rid of preprocessor mumbo-jumbo | |||||
2015-04-06 | dyncom: Properly return the value of the user RO thread register | Lioncash | 2 | -4/+10 | |
2015-04-06 | dyncom: Set CP15 reset values on initialization | Lioncash | 1 | -0/+60 | |
2015-04-06 | dyncom: Suppress uninitialized variable warnings | Lioncash | 1 | -4/+4 | |
The switch cases will always be hit, but this makes compilers stop complaining. | |||||
2015-04-02 | dyncom: Move CP15 register writing into its own function. | Lioncash | 4 | -88/+265 | |
Also implements writing to the rest of the ARM11 MPCore CP15 register set. | |||||
2015-04-02 | dyncom: Move CP15 register reading into its own function. | Lioncash | 4 | -49/+253 | |
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore. | |||||
2015-03-26 | dyncom: Migrate InAPrivilegedMode to armsupp | Lioncash | 3 | -4/+7 | |
It's a generic helper function, so it should be here anyway. | |||||
2015-03-24 | dyncom: Implement SRS | Lioncash | 1 | -1/+32 | |
2015-03-24 | dyncom: Implement RFE | Lioncash | 1 | -1/+30 | |
2015-03-24 | dyncom: Remove unused/unnecessary macros and macro constants | Lioncash | 2 | -39/+2 | |
2015-03-21 | armmmu: Remove unnecessary enum values | Lioncash | 1 | -30/+20 | |
We don't need to care about XScale or Intel specific ARM stuff. | |||||
2015-03-17 | dyncom: Make Load/Store instructions support big endian | Lioncash | 5 | -82/+198 | |
2015-03-16 | arm_interface: Get rid of GetTicks. | Lioncash | 3 | -12/+0 | |
Removes a TODO. | |||||
2015-03-15 | dyncom: Implement SETEND | Lioncash | 1 | -1/+35 | |
2015-03-10 | dyncom: Minor cleanup | Lioncash | 1 | -26/+7 | |
Assemblers will exit with an error when trying to assemble instructions with disallowed registers. | |||||
2015-03-09 | dyncom: Fix an indexing bug in STM | Lioncash | 1 | -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-09 | dyncom: General cleanup of STM | Lioncash | 1 | -16/+14 | |
2015-03-09 | dyncom: Increment addr when accessing LR in LDM | Lioncash | 1 | -0/+2 | |
2015-03-04 | vfp: Get rid of warnings | Lioncash | 2 | -4/+4 | |
2015-03-02 | Add profiling infrastructure and widget | Yuri Kunde Schlesner | 1 | -0/+8 | |
2015-02-28 | arm_disasm: Show conditional code for BKPT instructions. | Lioncash | 1 | -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-28 | arm_disasm: Remove unused variable | Lioncash | 1 | -2/+1 | |
Also declared an array as static, as it's only used in this translation unit. | |||||
2015-02-26 | arm: The CP15 Main ID register is not writeable | Lioncash | 1 | -3/+1 | |
2015-02-25 | arm: Remove unnecessary booleans | Lioncash | 2 | -22/+5 | |
We don't care about any of these. | |||||
2015-02-22 | Cleaned up unaligned access. | Kevin Hartman | 1 | -17/+2 | |
2015-02-18 | vfpinstr: Fix trivial signed/unsigned mismatch warnings | Lioncash | 1 | -4/+4 | |
2015-02-17 | dyncom: Support conditional BKPT instructions | Lioncash | 2 | -2/+28 | |
2015-02-16 | dyncom: Actually set the destination register for USAD8/USADA8. | Lioncash | 1 | -0/+1 | |
Idiotville: Population: 1 - Inhabitant name: Lioncash | |||||
2015-02-15 | vfpdouble: Use %p for printing pointer addresses. | Lioncash | 1 | -2/+2 | |
2015-02-15 | arm: Set the A bit on reset. | Lioncash | 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. | |||||
2015-02-13 | core: Apply static to local functions | Lioncash | 5 | -221/+227 | |
2015-02-13 | arm: General cleanup | Lioncash | 13 | -227/+116 | |
- Remove several typedefs for ARMul_State. - Remove unused functions - Remove unused/unnecessary headers - Removed unused enums, etc. | |||||
2015-02-13 | dyncom: Switch the app and system cores into the correct mode at initialization | Lioncash | 4 | -12/+17 | |
2015-02-13 | dyncom: Clean up the constructor | Lioncash | 3 | -16/+7 | |
Some function calls aren't necessary and would be handled by regular initialization routines. | |||||
2015-02-13 | dyncom: Remove warning for SXTAH | Lioncash | 1 | -1/+0 | |
This is tested to work correctly. | |||||
2015-02-12 | arm: Remove ARMul_EmulateInit | Lioncash | 4 | -55/+1 | |
This was only used for armemu, which has since been removed. Removed components related to this as well. | |||||
2015-02-12 | armdefs: Remove unnecessary extern C | Lioncash | 1 | -6/+0 | |
2015-02-11 | arm: Remove ARM26 support. | Lioncash | 2 | -45/+4 | |
This will never be used. 32-bit is the norm. | |||||
2015-02-11 | arm: Get rid of some magic constants. Specify proper ARM mode. | Lioncash | 3 | -3/+10 | |
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE. | |||||
2015-02-11 | arm: Change some more constants into enums | Lioncash | 2 | -21/+30 | |
2015-02-11 | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 2 | -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-10 | arm: Remove TRUE/FALSE defines | Lioncash | 4 | -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-10 | arm_dyncom_thumb: Make lookup tables static | Lioncash | 1 | -7/+7 | |
These don't need to be recreated all the time. | |||||
2015-02-10 | dyncom: Add more regs to MCR/MRC | Lioncash | 2 | -18/+35 | |
Adds the registers that were left out of some coprocessor ranges. | |||||
2015-02-10 | vfp: Normalize accumulator for multiply accumulate instructions | Lioncash | 2 | -0/+6 | |
2015-02-10 | Scheduler refactor Pt. 1 | Kevin Hartman | 3 | -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-09 | vfpdouble: Fix the FTOUI NaN sign setting | Lioncash | 1 | -1/+1 | |
This was fixed for vfpsingle, but not vfpdouble | |||||
2015-02-09 | Throw more unused/unnecessary VFP code out | Lioncash | 3 | -215/+1 | |
2015-02-09 | vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff | Lioncash | 4 | -192/+153 | |
2015-02-09 | vfp_helper: Normalize tabs to spaces | Lioncash | 1 | -172/+170 | |
2015-02-06 | vfp_helper: Remove unnecessary extern C blocks | Lioncash | 1 | -17/+1 | |
2015-02-06 | vfp: Move FPSID, FPEXC, and FPSCR values over to enums. | Lioncash | 3 | -150/+104 | |
Also got rid of duplicate definitions of some of these values. | |||||
2015-02-04 | vfp: Fix VCVT | Lioncash | 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. | |||||
2015-02-04 | vfp: Throw out unused code | Lioncash | 2 | -1765/+0 | |
2015-02-03 | dyncom: Remove more unnecessary code | Lioncash | 1 | -45/+3 | |
2015-02-03 | core: Fix some warnings on OSX | Lioncash | 1 | -2/+4 | |
2015-02-01 | vfp: Get rid of some compile warnings | Lioncash | 2 | -6/+3 | |
2015-02-01 | arm: Clean up ARMul_State | Lioncash | 3 | -136/+83 | |
Remove unnecessary/unused struct variables. | |||||
2015-02-01 | arm: Adios armemu | Lioncash | 12 | -8576/+164 | |
2015-01-30 | dyncom: clean up arm_dyncom_dec.h | Lioncash | 1 | -43/+2 | |
2015-01-30 | arm: Move headers over to pragma once | Lioncash | 7 | -31/+11 | |
2015-01-30 | arm: Get rid of armcpu.h and skyeye_types.h | Lioncash | 5 | -113/+0 | |
2015-01-30 | arm: Clean out armos.h and armmmu.h | Lioncash | 2 | -181/+23 | |
2015-01-30 | arm: Throw out a lot of unnecessary code | Lioncash | 6 | -1536/+56 | |
2015-01-30 | armdefs: Move some defines over to enums | Lioncash | 1 | -131/+112 | |
2015-01-27 | dyncom: Minor cleanup | Lioncash | 1 | -126/+137 | |
Narrow scopes for the instruction variables. Remove unnecessary parentheses. | |||||
2015-01-27 | Update vfp.cpp | bunnei | 1 | -1/+1 | |
VFP: Changed a debug log to trace. | |||||
2015-01-23 | vfp: Clean up vertical alignment for instructions | Lioncash | 1 | -131/+125 | |
2015-01-22 | dyncom: Minor cleanup | Lioncash | 1 | -282/+270 | |
Removes some unused macros and cleans up indentation inconsistencies | |||||
2015-01-20 | dyncom: Clarify precedence for ternary statements | Lioncash | 3 | -3/+3 | |
2015-01-19 | Cleanup: Logging in Core | Chin | 5 | -483/+157 | |
2015-01-19 | dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc | Lioncash | 1 | -7/+33 | |
2015-01-17 | dyncom: Handle the ARM A2 encoding of STRT/LDRT | Lioncash | 1 | -10/+24 | |
These were also missing the shifted register case. | |||||
2015-01-17 | dyncom: Handle the ARM A2 encoding of LDRBT/STRBT. | Lioncash | 1 | -17/+15 | |
2015-01-12 | vfp: Remove dead code | Lioncash | 1 | -50/+14 | |
2015-01-12 | dyncom: Fix 32-bit ASR shifts for immediates | Lioncash | 1 | -5/+3 | |
2015-01-12 | dyncom: Remove unused flag macros | Lioncash | 1 | -15/+3 | |
2015-01-12 | dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop | Lioncash | 1 | -97/+108 | |
2015-01-12 | dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC | Lioncash | 1 | -38/+41 | |
Also cleans up CMN, and CMP. | |||||
2015-01-12 | dyncom: Add a helper function for addition with a carry | Lioncash | 3 | -12/+26 | |
2015-01-12 | dyncom: Fix ADC overflow flag setting | Lioncash | 1 | -8/+12 | |
2015-01-12 | dyncom: Fix conditional execution of MSR | Lioncash | 1 | -29/+31 | |
2015-01-09 | Move ThreadContext to core/core.h and deal with the fallout | Yuri Kunde Schlesner | 5 | -11/+16 | |
2015-01-09 | DynCom: Add a comment to GetTicks. | Subv | 1 | -0/+1 | |
2015-01-09 | Timing: Use CoreTiming::GetTicks to keep track of ticks. | Subv | 2 | -6/+2 | |
This will keep track of idle ticks for us, and fixes some tickcount-related issues | |||||
2015-01-08 | dyncom: Fix UMAAL | Lioncash | 1 | -4/+4 | |
These need to be done as a 64-bit operation. | |||||
2015-01-07 | dyncom: Fix SMULWB/SMULWT | Lioncash | 1 | -10/+7 | |
Wasn't doing proper sign-extension | |||||
2015-01-07 | CoreTiming: Ported the CoreTiming namespace from PPSSPP | Subv | 2 | -1/+9 | |
Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing. | |||||
2015-01-07 | dyncom: Fix SWPB | Lioncash | 1 | -0/+1 | |
2015-01-07 | dyncom: Move over SMLALXY | Lioncash | 1 | -1/+56 | |
2015-01-06 | Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. | Kevin Hartman | 2 | -16/+18 | |
2015-01-05 | dyncom: Partially emulate BXJ | Lioncash | 1 | -8/+25 | |
Just in case some game studio let the intern write inline assembly or something. | |||||
2015-01-05 | dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT | Lioncash | 1 | -1/+2 | |
Easy skyeye todo fix. | |||||
2015-01-05 | dyncom: Implement QADD/QSUB/QDADD/QDSUB | Lioncash | 4 | -25/+117 | |
2015-01-04 | skyeye: Remove duplicate typedefs | Lioncash | 4 | -41/+17 | |
citra already has its own typedefs like this. | |||||
2015-01-03 | dyncom: Implement SMLAW | Lioncash | 1 | -1/+43 | |
2015-01-03 | VFP: Minor cleanup, functionally the same. | bunnei | 1 | -2587/+2476 | |
2015-01-03 | dyncom: Implement REVSH | Lioncash | 1 | -45/+45 | |
Also joins the REV ops into one common place. | |||||
2015-01-03 | dyncom: Implement SMLALD/SMLSLD | Lioncash | 1 | -3/+72 | |
2015-01-03 | dyncom: Implement SMMLA/SMMUL/SMMLS | Lioncash | 1 | -3/+64 | |
2015-01-03 | dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH | bunnei | 3 | -227/+282 | |
2015-01-03 | dyncom: Remove dead function InterpreterInitInstLength | Lioncash | 1 | -27/+0 | |
Technically eliminates two memory leaks as well. | |||||
2015-01-03 | armemu: Fix missing Q flag check for SMLSD. | Lioncash | 1 | -2/+6 | |
2015-01-03 | dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD | Lioncash | 5 | -50/+84 | |
2015-01-02 | dyncom: Implement SXTAB16 and SXTB16 | Lioncash | 1 | -3/+58 | |
2015-01-01 | dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX | Lioncash | 1 | -8/+110 | |
2015-01-01 | Fix SADD8/SSUB8 in the armemu | Lioncash | 1 | -50/+28 | |
2015-01-01 | dyncom: Implement SADD8/SSUB8 | Lioncash | 1 | -55/+108 | |
2014-12-31 | dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX | Lioncash | 1 | -9/+208 | |
2014-12-31 | dyncom: Massive refactor | bunnei | 2 | -654/+221 | |
2014-12-30 | vfp: Get rid of a few warnings | Lioncash | 2 | -2/+2 | |
2014-12-30 | vfp: Implement VMOVBRRSS | Lioncash | 3 | -12/+44 | |
2014-12-30 | dyncom: Implement USAT16/SSAT16 | Lioncash | 1 | -2/+61 | |
2014-12-30 | dyncom: Implement USAT/SSAT | bunnei | 3 | -2/+131 | |
2014-12-30 | dyncom: Various cleanups to match coding style, no functional changes. | bunnei | 5 | -7087/+5962 | |
2014-12-29 | dyncom: Fix SMLALXY's instruction labels | Lioncash | 1 | -2/+2 | |
They were erroneously labeled as SMLAL. | |||||
2014-12-29 | dyncom: Implement QADD8/QSUB8 | Lioncash | 1 | -32/+42 | |
2014-12-29 | armemu: Implement QADD8/QSUB8 | Lioncash | 3 | -33/+100 | |
2014-12-29 | dyncom: Implement UXTB16/UXTAB16 | Lioncash | 1 | -2/+55 | |
2014-12-29 | vfp: Actually make the code somewhat readable | Lioncash | 5 | -1664/+1053 | |
2014-12-28 | dyncom: Implement PKHBT and PKHTB. | bunnei | 1 | -2/+57 | |
2014-12-28 | armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field. | bunnei | 1 | -13/+5 | |
2014-12-28 | dyncom: Implement USAD8/USADA8 | Lioncash | 3 | -3/+53 | |
2014-12-28 | armemu: Simplify SSAT/SSAT16/SXTB/SXTAB | Lioncash | 1 | -71/+48 | |
2014-12-28 | armemu: Simplify REV/REV16/SXTH/SXTAH | Lioncash | 1 | -38/+26 | |
2014-12-28 | armemu: Simplify USAT16/UXTB/UXTAB | Lioncash | 1 | -65/+42 | |
2014-12-28 | armemu: Simplify REVSH/UXTH/UXTAH | Lioncash | 1 | -48/+23 | |
2014-12-28 | armemu: Fix underflows in USAD8/USADA8 | Lioncash | 3 | -4/+14 | |
Initially reported by xdec. | |||||
2014-12-27 | dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. | Lioncash | 3 | -12/+102 | |
2014-12-27 | armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX | Lioncash | 3 | -19/+93 | |
2014-12-27 | dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX | Lioncash | 1 | -11/+123 | |
2014-12-27 | armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX | Lioncash | 1 | -2/+73 | |
2014-12-26 | ARM: Add a mechanism for faking CPU time elapsed during HLE. | bunnei | 5 | -95/+31 | |
- Also a few cleanups. | |||||
2014-12-25 | armemu: Implement SMMUL, SMMLA, and SMMLS. | Lioncash | 1 | -2/+30 | |
2014-12-24 | armemu: Implement SMLALD/SMLSLD | Lioncash | 1 | -2/+33 | |
2014-12-24 | armemu: Fix GE/Q flag setting semantics | Lioncash | 1 | -62/+56 | |
2014-12-23 | armemu: Set the Q flag correctly for much of the other ops | Lioncash | 1 | -8/+8 | |
They were setting the old S flag. | |||||
2014-12-23 | armemu: Set the Q flag properly for SMLAD/SMUAD | Lioncash | 3 | -13/+28 | |
2014-12-23 | armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation. | Lioncash | 1 | -9/+23 | |
2014-12-23 | armemu: Fix SEL | Lioncash | 1 | -1/+1 | |
Needs to use the updated state of the CPSR. | |||||
2014-12-23 | armemu: Fix construction of the CPSR | Lioncash | 4 | -15/+54 | |
2014-12-23 | armemu: Fix retrieval of the CPSR in MRS instructions. | Lioncash | 1 | -1/+1 | |
2014-12-22 | dyncom: Move over QADD16/QASX/QSAX/QSUB16 | Lioncash | 1 | -7/+87 | |
2014-12-22 | dyncom: Move SEL over | Lioncash | 1 | -1/+58 | |
2014-12-22 | dyncom: Move over SASX/SSAX/SADD16/SSUB16 | Lioncash | 1 | -7/+102 | |
2014-12-21 | More warning cleanups | Chin | 3 | -9/+6 | |
2014-12-21 | License change | purpasmart96 | 8 | -8/+8 | |
2014-12-21 | armemu: Implement SADD8/SSUB8 | Lioncash | 1 | -14/+87 | |
2014-12-20 | armemu: Should be using labs for USAD8/USADA8 | Lioncash | 1 | -4/+4 | |
2014-12-19 | armemu: Implement QASX and QSAX | Lioncash | 1 | -7/+20 | |
2014-12-19 | armemu: Implement SMLSD | Lioncash | 1 | -6/+10 | |
2014-12-19 | dyncom: Implement UMAAL | Lioncash | 1 | -1/+47 | |
2014-12-19 | armemu: Implement USAD8 and USADA8 | Lioncash | 1 | -1/+24 | |
2014-12-19 | armemu: Fix SSAT16 | Lioncash | 1 | -1/+1 | |
The lower-bound would never be negative like it should | |||||
2014-12-19 | armemu: Clean up naming and formatting for SSAT16 | Lioncash | 1 | -14/+20 | |
2014-12-18 | armemu: Fix lower-bounds clamping for USAT16 | Lioncash | 1 | -1/+6 | |
2014-12-18 | armemu: More concise names for USAT16-related variables | Lioncash | 1 | -11/+15 | |
2014-12-18 | armemu: Get rid of bitwise parenthesis warnings | Lioncash | 1 | -4/+4 | |
2014-12-18 | armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX. | Lioncash | 1 | -4/+29 | |
2014-12-18 | armemu: Combine SSUB16, SADD16, SASX, and SSAX. | Lioncash | 1 | -34/+23 | |
2014-12-17 | armemu: Unset GE flags for UADD8 if results are < 0x100 | Lioncash | 1 | -4/+22 | |
Reference manual states these must be set to zero if this case is true. | |||||
2014-12-17 | armemu: Fix SSUB16 | Lioncash | 1 | -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-17 | armemu: Implement UMAAL | Lioncash | 1 | -3/+25 | |
2014-12-17 | armemu: Narrow the scope of some variables in handle_v6_insn | Lioncash | 1 | -12/+9 | |
There's no reason to have these in the outer-most scope. | |||||
2014-12-17 | armemu: Fix SADD16 | Lioncash | 1 | -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-17 | armemu: Fix PKHTB | Normmatt | 1 | -6/+12 | |
2014-12-17 | armemu: Implement REVSH | Normmatt | 1 | -5/+9 | |
2014-12-17 | armemu: Fix UXTAB/UXTAH | Normmatt | 1 | -4/+4 | |
2014-12-17 | armemu: Fix SXTAB | Normmatt | 1 | -2/+2 | |
2014-12-17 | armemu: Fix SXTAH | Normmatt | 1 | -2/+3 | |
2014-12-16 | armemu: Fix FTOUI NaN sign. | Normmatt | 1 | -1/+1 | |
2014-12-16 | armemu: Fix FSUBS bug where NaN shouldn't be negated | Normmatt | 1 | -1/+4 | |
2014-12-16 | armemu: Fix SMUAD, SMUSD, and SMLAD | Lioncash | 1 | -3/+3 | |
Wrong values were being multiplied together. | |||||
2014-12-16 | armemu: Join SMUAD, SMUSD, and SMLAD | Lioncash | 1 | -38/+35 | |
2014-12-16 | armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16. | Lioncash | 1 | -2/+2 | |
2014-12-16 | armemu: Join QADD16 and QSUB16 together. | Lioncash | 1 | -33/+37 | |
The only difference between these ops is one adds and one subtracts. Everything is literally the same. | |||||
2014-12-16 | armemu: Implement UXTAB16 | Lioncash | 1 | -10/+25 | |
2014-12-15 | armemu: Fix UXTB16 | Lioncash | 1 | -12/+12 | |
Rotation bits are 10 and 11, not 9 and 10. | |||||
2014-12-15 | ARM: Pull some SkyEye fixes from 3dmoo. | bunnei | 3 | -419/+485 | |
2014-12-14 | Clean up armdefs.h | Lioncash | 1 | -306/+169 | |
2014-12-13 | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 5 | -109/+109 | |
2014-12-08 | armemu: Fix SSAX | Lioncash | 1 | -1/+1 | |
2014-12-08 | armemu: Fix SASX | Lioncash | 1 | -1/+1 | |
2014-12-08 | armemu: Fix parenthesis warnings regarding bitwise ops | Lioncash | 1 | -4/+4 | |
2014-11-29 | dyncom: Use unordered_map rather than the terrible 2-level bb_map | Yuri Kunde Schlesner | 1 | -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-29 | arm_dyncom_interpreter: Get rid of unused var warnings | Lioncash | 1 | -4/+2 | |
2014-11-29 | Add comment regarding __WIN32__ in SkyEye code | darkf | 1 | -0/+4 | |
2014-11-29 | Fix MinGW build | darkf | 1 | -0/+4 | |
2014-11-25 | Remove unused includes to common/thread.h | Emmanuel Gil Peyrot | 1 | -2/+0 | |
2014-11-24 | HLE: Revamp error handling throrough the HLE code | Yuri Kunde Schlesner | 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. | |||||
2014-11-24 | Change some SkyEye defines to const ints | Yuri Kunde Schlesner | 2 | -34/+16 | |
This prevents them from interfering with other constants defined in different namespaces. | |||||
2014-11-19 | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated | Emmanuel Gil Peyrot | 7 | -12/+12 | |
2014-11-18 | Fix documentation of parameters | Lioncash | 2 | -2/+2 | |
2014-11-14 | ARM_Interface: Make destructor virtual | Lioncash | 1 | -1/+1 | |
Fixes some warnings on OSX. | |||||
2014-11-12 | ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable). | bunnei | 1 | -2/+2 | |
- Fixes single stepping in debugger. | |||||
2014-11-12 | ARM: Removed unnecessary goto with each instruction. | bunnei | 1 | -43/+39 | |
2014-11-12 | ARM: Fixed several dyncom bugs. | bunnei | 3 | -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-03 | Fix compilation errors | Sean Maas | 1 | -2/+2 | |
2014-11-02 | ARM: Merged additional ARMv6 instructions implemented by 3dmoo. | bunnei | 1 | -42/+234 | |
2014-11-02 | ARM: Merge latest VFP fixes from 3dmoo team. | bunnei | 4 | -2096/+2388 | |
2014-10-31 | Fix VFP compilation errors with gcc | Yuri Kunde Schlesner | 1 | -12/+12 | |
2014-10-26 | vfp_helper: Get rid of integer type redefinitions | Lioncash | 1 | -7/+1 | |
2014-10-26 | Add `override` keyword through the code. | Yuri Kunde Schlesner | 2 | -18/+18 | |
This was automated using `clang-modernize`. | |||||
2014-10-25 | ARM: Removed unnecessary and unused SkyEye MMU code. | bunnei | 21 | -7728/+326 | |
Added license header back in. I originally removed this because I mostly rewrote the file, but meh | |||||
2014-10-25 | ARM: Removed unused armos code from SkyEye. | bunnei | 3 | -746/+0 | |
2014-10-25 | ARM: Updated dyncom core to use fast label lookup table on clang. | bunnei | 1 | -3/+7 | |
2014-10-25 | ARM: Integrate SkyEye faster "dyncom" interpreter. | bunnei | 18 | -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-25 | ARM: Reorganized file structure to move shared SkyEye code to a more common area. | bunnei | 31 | -63/+63 | |
Removed s_ prefix | |||||
2014-09-09 | core: Prune redundant includes | archshift | 1 | -1/+0 | |
2014-09-09 | Added string_util to common, small changes in loader.cpp | archshift | 1 | -39/+39 | |
2014-09-07 | Dead code removal: video_core.cpp, load_symbol_map.cpp | archshift | 1 | -1/+1 | |
2014-09-06 | core: Make the ARM disassembler use std::string internally | Lioncash | 3 | -189/+143 | |
2014-08-31 | Threading: Fix thread starting to execute first instruction correctly. | bunnei | 1 | -1/+1 | |
2014-08-28 | Threading: Fix thread starting to execute first instruction correctly. | bunnei | 1 | -1/+1 | |
2014-08-20 | ARM: Remove a forgotten const in vfp. | Emmanuel Gil Peyrot | 2 | -2/+2 | |
2014-07-24 | ARM: Synchronize Citra's SkyEye core with 3dmoo's. | bunnei | 6 | -5919/+5303 | |
2014-07-20 | core: Kill off type redefenitions in armdefs.h | Lioncash | 1 | -7/+0 | |
2014-06-05 | arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected | bunnei | 1 | -1/+1 | |
2014-06-05 | arm: fixed bug in how thread context switch occurs with SkyEye | bunnei | 1 | -2/+5 | |
2014-06-05 | arm: reverting a change made with cb0663de - this has to have been a typo! | bunnei | 1 | -1/+1 | |
2014-06-02 | arm: added option to prepare CPU core (while mid-instruction) for thread reschedule | bunnei | 3 | -0/+11 | |
2014-06-01 | 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 field | Disruption | 1 | -1/+1 | |
2014-05-30 | arm: removed unnecessary code when calling SVC from skyeye | bunnei | 1 | -16/+0 | |
2014-05-23 | arm_interpreter: fixed load context to currently resume a thread | bunnei | 1 | -1/+4 | |
2014-05-21 | arm: removed include of windows.h from armdefs.h to arminit.c (only module that uses it) | bunnei | 2 | -4/+3 | |
2014-05-21 | armemu: missed rename of "Syscall" to "SVC" | bunnei | 1 | -1/+1 | |
2014-05-21 | ARM_Interpreter/ARM_Interface: Fixed member variable naming to be consistent with style guide | bunnei | 3 | -45/+45 | |
2014-05-21 | ARM_Interface: added SaveContext and LoadContext functions for HLE thread switching | bunnei | 3 | -1/+63 | |
2014-05-20 | VFP: disable DBG messages because they spam the console with unimportant skyeye junk | bunnei | 1 | -1/+1 | |
2014-05-17 | Fixed vfp issues | archshift | 4 | -10/+10 | |
2014-05-17 | ignore thumbemu 0xDEADCODE debugging catch on MCR | bunnei | 1 | -2/+1 | |
2014-05-17 | updated how we call ARM core to make things much faster | bunnei | 5 | -20/+30 | |
2014-05-17 | same fix as last commit - just for vfpsingle.cpp | bunnei | 1 | -2/+2 | |
2014-05-17 | another VFP fix for GCC | bunnei | 1 | -2/+2 | |
2014-05-17 | fixed VFP DBG log for GCC | bunnei | 1 | -1/+1 | |
2014-05-17 | - reenabled MCR and MRC functions now that VFP is attached | bunnei | 2 | -95/+92 | |
- removed HLE::CallMCR function (was pointless) | |||||
2014-05-17 | - removed unused stubbed out code | bunnei | 5 | -33/+27 | |
- fixed some compiler issues with xscale_copro when porting code to Windows - fixed some #include's | |||||
2014-05-16 | added maverick.cpp to ARM core from skyeye | bunnei | 1 | -0/+1206 | |
2014-05-16 | fixed includes | bunnei | 1 | -2/+2 | |
2014-05-16 | enabled CP_ACCESS_ALLOWED | bunnei | 1 | -6/+4 | |
2014-05-16 | fixed include path | bunnei | 1 | -1/+1 | |
2014-05-16 | removed undefined function ARMul_ConsolePrint | bunnei | 1 | -1/+1 | |
2014-05-16 | added missing armcopro from skyeye | bunnei | 3 | -251/+1093 | |
2014-05-16 | added missing skyeye mmu code | bunnei | 9 | -17/+3272 | |
2014-05-16 | fixed armmmu imports | bunnei | 1 | -5/+5 | |
2014-05-16 | - moved mmu to arm/interpreter folder | bunnei | 13 | -0/+8755 | |
- added initial VFP code from skyeye | |||||
2014-05-12 | added option to set CPSR register to arm_interface | bunnei | 3 | -0/+20 | |
2014-05-07 | - disable strict alignment on LDRD/STRD | bunnei | 1 | -17/+22 | |
- handle RD in STREX/STREXB | |||||
2014-05-06 | commented out useless debug logs that just spammed console | bunnei | 1 | -3/+3 | |
2014-05-02 | - added CallMCR function to coprocessor HLE module | bunnei | 1 | -22/+23 | |
- moved instruction decoding to coprocessor HLE module | |||||
2014-05-02 | renamed hle "mrc" module to "coprocessor" | bunnei | 1 | -8/+8 | |
2014-05-01 | added a module to load symbol map files for debugging | bunnei | 2 | -0/+46 | |
2014-04-28 | removed DISALLOW_COPY_AND_ASSIGN in favor of NonCopyable class | bunnei | 2 | -3/+1 | |
2014-04-28 | removed commented out line - this was for an unimplemented MRC call, no longer need to leave this here | bunnei | 1 | -1/+0 | |
2014-04-25 | moved HLE::MRC to its own module, added support for catching data synchronization barrier command | bunnei | 2 | -3/+5 | |
2014-04-25 | added disassembly to unimplemented instruction | bunnei | 1 | -1/+6 | |
2014-04-23 | fixes to build on linux | bunnei | 1 | -0/+2 | |
2014-04-13 | - added HLE to connect to "srv:" service | bunnei | 1 | -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-12 | hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...) | bunnei | 1 | -2/+6 | |
2014-04-12 | added a SETABORT method that does not update LR (for HLE'd SVC that does not jump appcore CPU to an IRQ vector) | bunnei | 1 | -0/+11 | |
2014-04-11 | base code to call a syscall from ARM11 appcore | bunnei | 1 | -0/+3 | |
2014-04-11 | missed this file with commit 95e5436f | bunnei | 1 | -1/+10 | |
2014-04-11 | cleaned up arm_interface, added a setter to set registers for use with HLE return values | bunnei | 2 | -6/+70 | |
2014-04-09 | fixed licensing and updated code style naming for arm_interface/arm_interpreter frontend module | bunnei | 3 | -94/+57 | |
2014-04-09 | fixed project includes to use new directory structure | bunnei | 10 | -27/+27 | |
2014-04-09 | got rid of 'src' folders in each sub-project | bunnei | 25 | -0/+15528 | |