Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache. | Subv | 2017-08-21 | 1 | -3/+3 |
| | | | | Fixes a few warnings. | ||||
* | Dyncom: Fixed a conversion warning when decoding thumb instructions. | Subv | 2017-08-21 | 1 | -1/+1 |
| | |||||
* | Dyncom: Remove disassembler code | Yuri Kunde Schlesner | 2017-05-08 | 1 | -5/+2 |
| | | | | | | Had licensing issue around it, in addition to several bugs. Closes #1632, #1280 | ||||
* | Dyncom: Tweak types and log formatting | Yuri Kunde Schlesner | 2017-05-08 | 3 | -8/+10 |
| | |||||
* | dyncom: Correct SXTAB16 and SXTB16 | MerryMage | 2017-02-18 | 1 | -4/+4 |
| | |||||
* | ThreadContext: Move from "core" to "arm_interface". | bunnei | 2016-12-22 | 2 | -8/+4 |
| | |||||
* | gdbstub: Remove global variable from public interface | Lioncash | 2016-12-15 | 1 | -2/+2 |
| | | | | | | | | | 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. | ||||
* | core: Add missing #pragma once directives where applicable | Lioncash | 2016-12-15 | 1 | -0/+2 |
| | |||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 3 | -3/+3 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 5 | -17/+10 |
| | | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | ||||
* | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 2016-09-19 | 2 | -3/+3 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 7 | -4260/+4267 |
| | |||||
* | Dyncom: Disable clang-format on the decoding table. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -0/+3 |
| | |||||
* | arm: ResetContext shouldn't be part of ARM_Interface. | bunnei | 2016-09-15 | 2 | -10/+0 |
| | |||||
* | arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword. | bunnei | 2016-09-15 | 1 | -1/+1 |
| | |||||
* | dyncom: Use VFP_FPSCR/VFP_FPEXC. | bunnei | 2016-09-15 | 1 | -4/+4 |
| | |||||
* | ARM: add ClearInstructionCache function | wwylele | 2016-08-27 | 2 | -0/+8 |
| | |||||
* | dyncom: Read-after-write in SMLA | MerryMage | 2016-08-22 | 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. | ||||
* | Dyncom: Correct implementation of STM for R15 | MerryMage | 2016-08-14 | 1 | -3/+4 |
| | |||||
* | dyncom: Fix translation of thumb REVSH | MerryMage | 2016-07-28 | 1 | -4/+13 |
| | |||||
* | Make arm_dyncom_trans* into a fully fledged compilation unit | archshift | 2016-06-12 | 3 | -53/+71 |
| | |||||
* | arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive | archshift | 2016-06-12 | 1 | -15/+15 |
| | |||||
* | arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func | archshift | 2016-06-11 | 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. | ||||
* | arm_dyncom_interpreter: rename operation functions to fit style guide | archshift | 2016-06-11 | 2 | -34/+34 |
| | |||||
* | arm_dyncom_interpreter: Rename anonymous enum to TransExtData | archshift | 2016-06-11 | 3 | -134/+132 |
| | |||||
* | arm_dyncom_interpreter.cpp: #include translation info from inc files | archshift | 2016-06-11 | 3 | -2648/+2652 |
| | |||||
* | Merge pull request #1568 from JayFoxRox/fix-printf | Mat M | 2016-05-27 | 1 | -0/+4 |
|\ | | | | | Fix ftoi and disable VFPv3 | ||||
| * | Disable VFP3 instructions | Jannik Vogel | 2016-05-16 | 1 | -0/+4 |
| | | |||||
* | | Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD | Jannik Vogel | 2016-05-18 | 1 | -4/+8 |
|/ | |||||
* | dyncom: Reset the context into user mode correctly | Lioncash | 2016-05-09 | 1 | -1/+1 |
| | | | | The other mode was system mode. | ||||
* | Common: Remove section measurement from profiler (#1731) | Yuri Kunde Schlesner | 2016-04-29 | 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. | ||||
* | Fix BLX LR opcode interpretation | mailwl | 2016-04-09 | 1 | -2/+3 |
| | |||||
* | Update cpsr (T)humb bit while creating thread | mailwl | 2016-04-08 | 1 | -1/+1 |
| | |||||
* | Fix thumb ADR instruction alignment | mailwl | 2016-04-06 | 1 | -6/+2 |
| | |||||
* | Merge pull request #1643 from MerryMage/make_unique | Mathew Maidment | 2016-04-06 | 1 | -3/+2 |
|\ | | | | | Common: Remove Common::make_unique, use std::make_unique | ||||
| * | Common: Remove Common::make_unique, use std::make_unique | MerryMage | 2016-04-05 | 1 | -3/+2 |
| | | |||||
* | | DynCom: Optimize single stepping | MerryMage | 2016-03-30 | 1 | -26/+57 |
|/ | |||||
* | arm_dyncom_dec: Fix decoding of VMLS | Lioncash | 2015-12-30 | 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) | ||||
* | dyncom: Handle modifying the APSR via an MRC instruction | Lioncash | 2015-12-28 | 1 | -12/+9 |
| | |||||
* | dyncom: Remove PC dispatch from several instructions | Lioncash | 2015-12-21 | 1 | -94/+0 |
| | | | | These instructions aren't capable of using the PC as a destination | ||||
* | dyncom: Handle unprivileged load/store variants correctly | Lioncash | 2015-12-20 | 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 | ||||
* | dyncom: Remove static keyword from header functions | Lioncash | 2015-12-06 | 2 | -3/+3 |
| | |||||
* | dyncom: const correctness changes | Lioncash | 2015-12-06 | 2 | -3/+3 |
| | |||||
* | Remove unnecessary new lines, changed Deinit to Shutdown | polaris- | 2015-10-12 | 1 | -1/+0 |
| | |||||
* | Use BreakpointAddress struct instead of passing address directly | polaris- | 2015-10-04 | 1 | -3/+3 |
| | |||||
* | Implement gdbstub | polaris- | 2015-10-04 | 1 | -9/+32 |
| | |||||
* | DynCom: Converted all 0xE condition code checks to ConditionCode::AL | archshift | 2015-09-06 | 1 | -100/+100 |
| | |||||
* | dyncom: Simplify some comparisons in CondPassed | Lioncash | 2015-08-26 | 1 | -4/+4 |
| | |||||
* | dyncom: Change return type of CondPassed to bool | Lioncash | 2015-08-26 | 1 | -57/+39 |
| | |||||
* | Integrate the MicroProfile profiling library | Yuri Kunde Schlesner | 2015-08-25 | 1 | -0/+7 |
| | | | | | This brings goodies such as a configurable user interface and multi-threaded timeline view. | ||||
* | Merge pull request #1027 from lioncash/debugger | bunnei | 2015-08-14 | 2 | -0/+20 |
|\ | | | | | debugger: Add the ability to view VFP register contents | ||||
| * | arm_interface: Implement interface for retrieving VFP registers | Lioncash | 2015-08-07 | 2 | -0/+20 |
| | | |||||
* | | ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types. | Emmanuel Gil Peyrot | 2015-08-11 | 1 | -20/+21 |
|/ | |||||
* | Merge pull request #1008 from lioncash/pc | bunnei | 2015-07-30 | 1 | -1/+6 |
|\ | | | | | dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM | ||||
| * | dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM | Lioncash | 2015-07-29 | 1 | -1/+6 |
| | | |||||
* | | dyncom: Remove an unused variable | Lioncash | 2015-07-29 | 1 | -3/+0 |
|/ | | | | This was used prior to InterpreterTranslate existing. | ||||
* | dyncom: Handle left-operand PC correctly for data-processing ops | Lioncash | 2015-07-29 | 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). | ||||
* | dyncom: Remove an unnecessary typedef | Lioncash | 2015-07-28 | 2 | -7/+5 |
| | |||||
* | dyncom: Use enum class for instruction decoding results | Lioncash | 2015-07-28 | 5 | -41/+40 |
| | |||||
* | dyncom: Remove code duplication regarding thumb instructions | Lioncash | 2015-07-28 | 3 | -23/+12 |
| | |||||
* | dyncom: Migrate exclusive memory access control into armstate | Lioncash | 2015-07-28 | 1 | -47/+13 |
| | |||||
* | dyncom: Remove duplicated typedef and extern | Lioncash | 2015-07-28 | 1 | -4/+0 |
| | | | | These are already present in arm_dyncom_dec.h. | ||||
* | dyncom: Use std::array for register arrays | Lioncash | 2015-07-26 | 1 | -4/+4 |
| | |||||
* | dyncom: Use ARMul_State as an object | Lioncash | 2015-07-26 | 4 | -301/+189 |
| | | | | Gets rid of C-like parameter passing. | ||||
* | dyncom: Remove unnecessary initialization code. | Lioncash | 2015-07-26 | 1 | -7/+0 |
| | | | | | | Targeting ARM version variants was only a thing on armemu. The reset routine also does basically the same thing as NewState. | ||||
* | dyncom: Remove unnecessary abort-related cruft | Lioncash | 2015-07-26 | 1 | -3/+0 |
| | | | | Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary. | ||||
* | dyncom: Rename armdefs.h to armstate.h | Lioncash | 2015-07-26 | 7 | -7/+7 |
| | |||||
* | dyncom: Get rid of skyeye typedefs | Lioncash | 2015-07-26 | 2 | -16/+15 |
| | |||||
* | dyncom: Move helper functions to their own header | Lioncash | 2015-07-26 | 5 | -3/+8 |
| | |||||
* | dyncom: Pass SVC immediates directly. | Lioncash | 2015-07-21 | 1 | -1/+2 |
| | | | | Previously it would just re-read the already decoded instruction and extract the immediate value. | ||||
* | dyncom: Properly retrieve the PC value in BX if used. | Lioncash | 2015-07-20 | 1 | -3/+5 |
| | |||||
* | Dyncom: Support for a missing ARMv6 Thumb MOV encoding | Yuri Kunde Schlesner | 2015-07-18 | 1 | -10/+4 |
| | |||||
* | arm_dyncom_interpreter: Simplify assignment in SMLAW | Lioncash | 2015-07-17 | 1 | -1/+1 |
| | | | | Also a side-benefit of not having implementation-defined behavior. | ||||
* | Core: Cleanup core includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -0/+5 |
| | |||||
* | arm_dyncom_thumb: Fix handling of writeback for thumb LDMIA | Lioncash | 2015-06-04 | 1 | -5/+19 |
| | |||||
* | arm_dyncom_thumb: Fix encoding of BKPT's immediate | Lioncash | 2015-06-01 | 1 | -1/+4 |
| | |||||
* | arm_dyncom_thumb: Implement CPS and SETEND | Lioncash | 2015-06-01 | 1 | -0/+13 |
| | |||||
* | arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB. | Lioncash | 2015-06-01 | 1 | -0/+11 |
| | |||||
* | arm_dyncom_thumb: Implement REV, REV16, and REVSH. | Lioncash | 2015-06-01 | 1 | -2/+12 |
| | |||||
* | Remove every trailing whitespace from the project (but externals). | Emmanuel Gil Peyrot | 2015-05-29 | 2 | -17/+17 |
| | |||||
* | Merge pull request #826 from lioncash/tables | Yuri Kunde Schlesner | 2015-05-27 | 1 | -22/+11 |
|\ | | | | | arm_dyncom_thumb: Merge STR/LDR table subsets. | ||||
| * | arm_dyncom_thumb: Merge STR/LDR table subsets. | Lioncash | 2015-05-27 | 1 | -22/+11 |
| | | |||||
* | | arm_dyncom_interpreter: Remove unused variable | Lioncash | 2015-05-26 | 1 | -5/+1 |
| | | | | | | | | Thum decoding directly checks if the thumb bit is set instead of using a temporary. | ||||
* | | arm_dyncom_interpreter: Remove unused macro | Lioncash | 2015-05-25 | 1 | -1/+0 |
|/ | |||||
* | dyncom: Get rid of armemu.h | Lioncash | 2015-05-24 | 1 | -1/+1 |
| | |||||
* | dyncom: Remove unused cpu parameter from decode_thumb_instr | Lioncash | 2015-05-23 | 1 | -3/+2 |
| | |||||
* | dyncom: remove load_r15 from arm_inst | Lioncash | 2015-05-23 | 1 | -362/+235 |
| | | | | It's entirely unused. Also allows getting rid of more clunky macros. | ||||
* | dyncom: Remove unnecessary parameter for load/store operations | Lioncash | 2015-05-23 | 1 | -39/+39 |
| | |||||
* | dyncom: Eliminate clang warnings | Lioncash | 2015-05-21 | 2 | -401/+401 |
| | | | | Gets rid of a whole load of missing brace initialization warnings. | ||||
* | Merge pull request #774 from lioncash/decodings | Yuri Kunde Schlesner | 2015-05-15 | 2 | -33/+191 |
|\ | | | | | dyncom: Add ARMv6K NOP and hint instructions to the interpreter. | ||||
| * | dyncom: Add ARMv6K NOP and hint instructions to the decoding table | Lioncash | 2015-05-14 | 2 | -12/+152 |
| | | |||||
| * | dyncom: Handle some MSR variants individually | Lioncash | 2015-05-14 | 2 | -24/+41 |
| | | | | | | | | This is necessary, as hint instructions will be recognized as MSR, which is pretty bad. | ||||
| * | dyncom: Move exclusive load/stores above bbl and swi in the decoding table | Lioncash | 2015-05-14 | 2 | -14/+15 |
| | | |||||
* | | Merge pull request #770 from lioncash/dyncom_clean | bunnei | 2015-05-15 | 1 | -211/+196 |
|\ \ | | | | | | | dyncom: Minor cleanup. | ||||
| * | | dyncom: Remove duplicate enums/prototypes | Lioncash | 2015-05-14 | 1 | -7/+1 |
| | | | | | | | | | | | | These are already defined in arm_dyncom_interpreter_dec.cpp. | ||||
| * | | dyncom: Remove unnecessary defines | Lioncash | 2015-05-14 | 1 | -4/+4 |
| | | | | | | | | | | | | These can simply be const vars. | ||||
| * | | dyncom: Make translation-unit functions and variables static | Lioncash | 2015-05-14 | 1 | -66/+64 |
| | | | |||||
| * | | dyncom: Remove unnecessary typedefs | Lioncash | 2015-05-14 | 1 | -132/+133 |
| | | | |||||
| * | | dyncom: Remove unused structs | Lioncash | 2015-05-14 | 1 | -8/+0 |
| |/ | |||||
* / | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+1 |
|/ | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | dyncom: Fix decoding of BKPT's immediate | Lioncash | 2015-05-13 | 1 | -1/+1 |
| | | | | A shift here is intended since the representation is imm12:imm4 | ||||
* | dyncom: Stub MCRR and MRRC | Lioncash | 2015-05-12 | 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. | ||||
* | Merge pull request #728 from lioncash/vars | Lioncash | 2015-05-08 | 1 | -19/+17 |
|\ | | | | | dyncom: Remove an unnecessary variable in the interpreter | ||||
| * | dyncom: Remove an unnecessary variable in the interpreter | Lioncash | 2015-05-08 | 1 | -19/+17 |
| | | | | | | | | All this was doing was needlessly aliasing a variable. | ||||
* | | Remove unnecessary dyncom header files | Lioncash | 2015-05-08 | 2 | -9/+2 |
|/ | |||||
* | Common: Remove common.h | Yuri Kunde Schlesner | 2015-05-07 | 1 | -0/+2 |
| | |||||
* | HLE: Clean up SVC dispatch mechanism | Yuri Kunde Schlesner | 2015-05-06 | 1 | -2/+2 |
| | |||||
* | Dyncom: Move cream cache to ARMul_State. | bunnei | 2015-05-02 | 2 | -23/+12 |
| | |||||
* | dyncom: Remove more unused/unnecessary code | Lioncash | 2015-04-20 | 1 | -6/+0 |
| | | | | Gets rid of a sizeable amount of stuff in armdefs. | ||||
* | Headers: Add some forgotten overrides, thanks clang! | Emmanuel Gil Peyrot | 2015-04-14 | 1 | -1/+1 |
| | |||||
* | dyncom: Remove unnecessary enum and typedef | Lioncash | 2015-04-07 | 4 | -25/+30 |
| | | | | Also fixes descriptions in the process. | ||||
* | Merge pull request #685 from lioncash/cpregs | bunnei | 2015-04-06 | 3 | -1/+10 |
|\ | | | | | dyncom: Set the MPCore CP15 register reset values on initialization. | ||||
| * | arm_interface: Support retrieval/storage to CP15 registers | Lioncash | 2015-04-06 | 2 | -0/+10 |
| | | |||||
| * | Move CP15 enum definitions into their own enum. | Lioncash | 2015-04-06 | 1 | -1/+0 |
| | | | | | | | | Also gets rid of preprocessor mumbo-jumbo | ||||
* | | dyncom: Suppress uninitialized variable warnings | Lioncash | 2015-04-06 | 1 | -4/+4 |
|/ | | | | The switch cases will always be hit, but this makes compilers stop complaining. | ||||
* | dyncom: Move CP15 register writing into its own function. | Lioncash | 2015-04-02 | 1 | -88/+2 |
| | | | | Also implements writing to the rest of the ARM11 MPCore CP15 register set. | ||||
* | dyncom: Move CP15 register reading into its own function. | Lioncash | 2015-04-02 | 1 | -44/+3 |
| | | | | Keeps everything contained. Added all supported readable registers in an ARM11 MPCore. | ||||
* | dyncom: Migrate InAPrivilegedMode to armsupp | Lioncash | 2015-03-26 | 1 | -4/+0 |
| | | | | It's a generic helper function, so it should be here anyway. | ||||
* | Merge pull request #674 from lioncash/sys-instrs | bunnei | 2015-03-25 | 1 | -2/+62 |
|\ | | | | | dyncom: Implement RFE and SRS. | ||||
| * | dyncom: Implement SRS | Lioncash | 2015-03-24 | 1 | -1/+32 |
| | | |||||
| * | dyncom: Implement RFE | Lioncash | 2015-03-24 | 1 | -1/+30 |
| | | |||||
* | | dyncom: Remove unused/unnecessary macros and macro constants | Lioncash | 2015-03-24 | 2 | -39/+2 |
|/ | |||||
* | Merge pull request #659 from lioncash/setend | bunnei | 2015-03-20 | 1 | -53/+97 |
|\ | | | | | Implement SETEND. | ||||
| * | dyncom: Make Load/Store instructions support big endian | Lioncash | 2015-03-17 | 1 | -52/+62 |
| | | |||||
| * | dyncom: Implement SETEND | Lioncash | 2015-03-15 | 1 | -1/+35 |
| | | |||||
* | | arm_interface: Get rid of GetTicks. | Lioncash | 2015-03-16 | 2 | -6/+0 |
|/ | | | | Removes a TODO. | ||||
* | dyncom: Minor cleanup | Lioncash | 2015-03-10 | 1 | -26/+7 |
| | | | | Assemblers will exit with an error when trying to assemble instructions with disallowed registers. | ||||
* | dyncom: Fix an indexing bug in STM | Lioncash | 2015-03-09 | 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. | ||||
* | dyncom: General cleanup of STM | Lioncash | 2015-03-09 | 1 | -16/+14 |
| | |||||
* | dyncom: Increment addr when accessing LR in LDM | Lioncash | 2015-03-09 | 1 | -0/+2 |
| | |||||
* | Add profiling infrastructure and widget | Yuri Kunde Schlesner | 2015-03-02 | 1 | -0/+8 |
| | |||||
* | arm: The CP15 Main ID register is not writeable | Lioncash | 2015-02-26 | 1 | -3/+1 |
| | |||||
* | Cleaned up unaligned access. | Kevin Hartman | 2015-02-22 | 1 | -17/+2 |
| | |||||
* | dyncom: Support conditional BKPT instructions | Lioncash | 2015-02-17 | 2 | -2/+28 |
| | |||||
* | dyncom: Actually set the destination register for USAD8/USADA8. | Lioncash | 2015-02-16 | 1 | -0/+1 |
| | | | | Idiotville: Population: 1 - Inhabitant name: Lioncash | ||||
* | core: Apply static to local functions | Lioncash | 2015-02-13 | 4 | -189/+195 |
| | |||||
* | arm: General cleanup | Lioncash | 2015-02-13 | 5 | -94/+57 |
| | | | | | | | - Remove several typedefs for ARMul_State. - Remove unused functions - Remove unused/unnecessary headers - Removed unused enums, etc. | ||||
* | dyncom: Switch the app and system cores into the correct mode at initialization | Lioncash | 2015-02-13 | 3 | -10/+15 |
| | |||||
* | dyncom: Clean up the constructor | Lioncash | 2015-02-13 | 1 | -7/+4 |
| | | | | Some function calls aren't necessary and would be handled by regular initialization routines. | ||||
* | dyncom: Remove warning for SXTAH | Lioncash | 2015-02-13 | 1 | -1/+0 |
| | | | | This is tested to work correctly. | ||||
* | arm: Remove ARMul_EmulateInit | Lioncash | 2015-02-12 | 1 | -6/+1 |
| | | | | This was only used for armemu, which has since been removed. Removed components related to this as well. | ||||
* | Merge pull request #559 from lioncash/clean | bunnei | 2015-02-11 | 1 | -2/+2 |
|\ | | | | | arm: Some cleanup. Also fixed the initial ARM mode that is emulated. | ||||
| * | arm: Get rid of some magic constants. Specify proper ARM mode. | Lioncash | 2015-02-11 | 1 | -2/+2 |
| | | | | | | | | Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE. | ||||
* | | Asserts: break/crash program, fit to style guide; log.h->assert.h | archshift | 2015-02-11 | 1 | -0/+1 |
| | | | | | | | | | | | | | | 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. | ||||
* | | arm_dyncom_thumb: Make lookup tables static | Lioncash | 2015-02-10 | 1 | -7/+7 |
|/ | | | | These don't need to be recreated all the time. | ||||
* | dyncom: Add more regs to MCR/MRC | Lioncash | 2015-02-10 | 1 | -17/+32 |
| | | | | Adds the registers that were left out of some coprocessor ranges. | ||||
* | Scheduler refactor Pt. 1 | Kevin Hartman | 2015-02-10 | 2 | -56/+11 |
| | | | | | | | | | | | | | * 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. | ||||
* | dyncom: Remove more unnecessary code | Lioncash | 2015-02-03 | 1 | -45/+3 |
| | |||||
* | core: Fix some warnings on OSX | Lioncash | 2015-02-03 | 1 | -2/+4 |
| | |||||
* | arm: Clean up ARMul_State | Lioncash | 2015-02-01 | 1 | -6/+3 |
| | | | | Remove unnecessary/unused struct variables. | ||||
* | arm: Adios armemu | Lioncash | 2015-02-01 | 1 | -4/+0 |
| | |||||
* | dyncom: clean up arm_dyncom_dec.h | Lioncash | 2015-01-30 | 1 | -43/+2 |
| | |||||
* | arm: Move headers over to pragma once | Lioncash | 2015-01-30 | 2 | -8/+2 |
| | |||||
* | arm: Get rid of armcpu.h and skyeye_types.h | Lioncash | 2015-01-30 | 3 | -4/+0 |
| | |||||
* | dyncom: Minor cleanup | Lioncash | 2015-01-27 | 1 | -126/+137 |
| | | | | Narrow scopes for the instruction variables. Remove unnecessary parentheses. | ||||
* | dyncom: Minor cleanup | Lioncash | 2015-01-22 | 1 | -282/+270 |
| | | | | Removes some unused macros and cleans up indentation inconsistencies | ||||
* | dyncom: Clarify precedence for ternary statements | Lioncash | 2015-01-20 | 1 | -1/+1 |
| | |||||
* | dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc | Lioncash | 2015-01-19 | 1 | -7/+33 |
| | |||||
* | dyncom: Handle the ARM A2 encoding of STRT/LDRT | Lioncash | 2015-01-17 | 1 | -10/+24 |
| | | | | These were also missing the shifted register case. | ||||
* | dyncom: Handle the ARM A2 encoding of LDRBT/STRBT. | Lioncash | 2015-01-17 | 1 | -17/+15 |
| | |||||
* | dyncom: Fix 32-bit ASR shifts for immediates | Lioncash | 2015-01-12 | 1 | -5/+3 |
| | |||||
* | dyncom: Remove unused flag macros | Lioncash | 2015-01-12 | 1 | -15/+3 |
| | |||||
* | dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop | Lioncash | 2015-01-12 | 1 | -97/+108 |
| | |||||
* | dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC | Lioncash | 2015-01-12 | 1 | -38/+41 |
| | | | | Also cleans up CMN, and CMP. | ||||
* | dyncom: Add a helper function for addition with a carry | Lioncash | 2015-01-12 | 1 | -12/+9 |
| | |||||
* | dyncom: Fix ADC overflow flag setting | Lioncash | 2015-01-12 | 1 | -8/+12 |
| | |||||
* | dyncom: Fix conditional execution of MSR | Lioncash | 2015-01-12 | 1 | -29/+31 |
| | |||||
* | Move ThreadContext to core/core.h and deal with the fallout | Yuri Kunde Schlesner | 2015-01-09 | 2 | -4/+5 |
| | |||||
* | DynCom: Add a comment to GetTicks. | Subv | 2015-01-09 | 1 | -0/+1 |
| | |||||
* | Timing: Use CoreTiming::GetTicks to keep track of ticks. | Subv | 2015-01-09 | 2 | -6/+2 |
| | | | | This will keep track of idle ticks for us, and fixes some tickcount-related issues | ||||
* | dyncom: Fix UMAAL | Lioncash | 2015-01-08 | 1 | -4/+4 |
| | | | | These need to be done as a 64-bit operation. | ||||
* | Merge pull request #442 from lioncash/smul | bunnei | 2015-01-07 | 1 | -10/+7 |
|\ | | | | | dyncom: Fix SMULWB/SMULWT | ||||
| * | dyncom: Fix SMULWB/SMULWT | Lioncash | 2015-01-07 | 1 | -10/+7 |
| | | | | | | | | Wasn't doing proper sign-extension | ||||
* | | Merge pull request #425 from Subv/coretiming | bunnei | 2015-01-07 | 1 | -1/+7 |
|\ \ | |/ |/| | Ported the CoreTiming namespace from PPSSPP | ||||
| * | CoreTiming: Ported the CoreTiming namespace from PPSSPP | Subv | 2015-01-07 | 1 | -1/+7 |
| | | | | | | | | | | | | Implemented the required calls to make it work. CoreTiming: Added a new logging class Core_Timing. | ||||
* | | Merge pull request #438 from lioncash/swp | bunnei | 2015-01-07 | 1 | -0/+1 |
|\ \ | | | | | | | dyncom: Fix SWPB | ||||
| * | | dyncom: Fix SWPB | Lioncash | 2015-01-07 | 1 | -0/+1 |
| | | | |||||
* | | | dyncom: Move over SMLALXY | Lioncash | 2015-01-07 | 1 | -1/+56 |
|/ / | |||||
* | | Merge pull request #417 from kevinhartman/exclusive-tag-fix | bunnei | 2015-01-06 | 1 | -5/+7 |
|\ \ | |/ |/| | Added exclusive reservation granule from ARMv7 spec to dyncom... | ||||
| * | Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX. | Kevin Hartman | 2015-01-06 | 1 | -5/+7 |
| | | |||||
* | | dyncom: Partially emulate BXJ | Lioncash | 2015-01-05 | 1 | -8/+25 |
| | | | | | | | | Just in case some game studio let the intern write inline assembly or something. | ||||
* | | dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT | Lioncash | 2015-01-05 | 1 | -1/+2 |
| | | | | | | | | Easy skyeye todo fix. | ||||
* | | Merge pull request #418 from lioncash/qd | bunnei | 2015-01-05 | 1 | -8/+103 |
|\ \ | | | | | | | dyncom: Implement QADD/QSUB/QDADD/QDSUB | ||||
| * | | dyncom: Implement QADD/QSUB/QDADD/QDSUB | Lioncash | 2015-01-05 | 1 | -8/+103 |
| | | | |||||
* | | | skyeye: Remove duplicate typedefs | Lioncash | 2015-01-04 | 3 | -14/+14 |
|/ / | | | | | | | citra already has its own typedefs like this. | ||||
* / | dyncom: Implement SMLAW | Lioncash | 2015-01-03 | 1 | -1/+43 |
|/ | |||||
* | Merge pull request #395 from lioncash/rev | bunnei | 2015-01-03 | 1 | -45/+45 |
|\ | | | | | dyncom: Implement REVSH | ||||
| * | dyncom: Implement REVSH | Lioncash | 2015-01-03 | 1 | -45/+45 |
| | | | | | | | | Also joins the REV ops into one common place. | ||||
* | | dyncom: Implement SMLALD/SMLSLD | Lioncash | 2015-01-03 | 1 | -3/+72 |
|/ | |||||
* | Merge pull request #392 from lioncash/sm | bunnei | 2015-01-03 | 1 | -3/+64 |
|\ | | | | | dyncom: Implement SMMLA/SMMUL/SMMLS | ||||
| * | dyncom: Implement SMMLA/SMMUL/SMMLS | Lioncash | 2015-01-03 | 1 | -3/+64 |
| | | |||||
* | | dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH | bunnei | 2015-01-03 | 3 | -227/+282 |
|/ | |||||
* | Merge pull request #390 from lioncash/wut | bunnei | 2015-01-03 | 1 | -27/+0 |
|\ | | | | | dyncom: Remove dead function InterpreterInitInstLength | ||||
| * | dyncom: Remove dead function InterpreterInitInstLength | Lioncash | 2015-01-03 | 1 | -27/+0 |
| | | | | | | | | Technically eliminates two memory leaks as well. | ||||
* | | dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD | Lioncash | 2015-01-03 | 1 | -44/+73 |
|/ | |||||
* | dyncom: Implement SXTAB16 and SXTB16 | Lioncash | 2015-01-02 | 1 | -3/+58 |
| | |||||
* | Merge pull request #379 from lioncash/sh | bunnei | 2015-01-02 | 1 | -8/+110 |
|\ | | | | | dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX | ||||
| * | dyncom: Implement SHADD8/SHADD16/SHSUB8/SHSUB16/SHASX/SHSAX | Lioncash | 2015-01-01 | 1 | -8/+110 |
| | | |||||
* | | dyncom: Implement SADD8/SSUB8 | Lioncash | 2015-01-01 | 1 | -55/+108 |
|/ | |||||
* | Merge pull request #375 from lioncash/uops | bunnei | 2014-12-31 | 1 | -9/+208 |
|\ | | | | | dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX | ||||
| * | dyncom: Implement UADD8/UADD16/USUB8/USUB16/UASX/USAX | Lioncash | 2014-12-31 | 1 | -9/+208 |
| | | |||||
* | | dyncom: Massive refactor | bunnei | 2014-12-31 | 1 | -514/+191 |
| | | |||||
* | | Merge pull request #369 from darkf/mingw_ | bunnei | 2014-12-31 | 1 | -0/+8 |
|\ \ | |/ |/| | Fix MinGW build (2) | ||||
| * | Fix merge conflicts | darkf | 2014-12-30 | 8 | -6588/+6273 |
| |\ | |||||
| * | | Add comment regarding __WIN32__ in SkyEye code | darkf | 2014-11-29 | 1 | -0/+4 |
| | | | |||||
| * | | Fix MinGW build | darkf | 2014-11-29 | 1 | -0/+4 |
| | | | |||||
* | | | dyncom: Implement USAT16/SSAT16 | Lioncash | 2014-12-30 | 1 | -2/+61 |
| |/ |/| | |||||
* | | dyncom: Implement USAT/SSAT | bunnei | 2014-12-30 | 1 | -2/+94 |
| | | |||||
* | | dyncom: Various cleanups to match coding style, no functional changes. | bunnei | 2014-12-30 | 4 | -7055/+5962 |
| | | |||||
* | | Merge pull request #361 from lioncash/moreqops | bunnei | 2014-12-29 | 1 | -32/+42 |
|\ \ | | | | | | | dyncom/armemu: Implement QADD8/QSUB8. | ||||
| * | | dyncom: Implement QADD8/QSUB8 | Lioncash | 2014-12-29 | 1 | -32/+42 |
| | | | |||||
* | | | dyncom: Fix SMLALXY's instruction labels | Lioncash | 2014-12-29 | 1 | -2/+2 |
|/ / | | | | | | | They were erroneously labeled as SMLAL. | ||||
* | | dyncom: Implement UXTB16/UXTAB16 | Lioncash | 2014-12-29 | 1 | -2/+55 |
| | | |||||
* | | vfp: Actually make the code somewhat readable | Lioncash | 2014-12-29 | 2 | -14/+109 |
| | | |||||
* | | dyncom: Implement PKHBT and PKHTB. | bunnei | 2014-12-28 | 1 | -2/+57 |
| | | |||||
* | | dyncom: Implement USAD8/USADA8 | Lioncash | 2014-12-28 | 1 | -2/+52 |
| | | |||||
* | | dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX. | Lioncash | 2014-12-27 | 1 | -8/+97 |
| | | |||||
* | | dyncom: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX | Lioncash | 2014-12-27 | 1 | -11/+123 |
| | | |||||
* | | ARM: Add a mechanism for faking CPU time elapsed during HLE. | bunnei | 2014-12-26 | 2 | -49/+14 |
| | | | | | | | | - Also a few cleanups. | ||||
* | | dyncom: Move over QADD16/QASX/QSAX/QSUB16 | Lioncash | 2014-12-22 | 1 | -7/+87 |
| | | |||||
* | | Merge pull request #322 from chinhodado/master | bunnei | 2014-12-22 | 3 | -9/+6 |
|\ \ | | | | | | | More warning cleanups | ||||
| * | | More warning cleanups | Chin | 2014-12-21 | 3 | -9/+6 |
| | | | |||||
* | | | dyncom: Move SEL over | Lioncash | 2014-12-22 | 1 | -1/+58 |
| | | | |||||
* | | | Merge pull request #324 from lioncash/dync | bunnei | 2014-12-22 | 1 | -7/+102 |
|\ \ \ | | | | | | | | | dyncom: Move over SASX/SSAX/SADD16/SSUB16 | ||||
| * | | | dyncom: Move over SASX/SSAX/SADD16/SSUB16 | Lioncash | 2014-12-22 | 1 | -7/+102 |
| |/ / | |||||
* | | | Merge pull request #291 from purpasmart96/license | bunnei | 2014-12-21 | 3 | -3/+3 |
|\ \ \ | |/ / |/| | | License change | ||||
| * | | License change | purpasmart96 | 2014-12-21 | 3 | -3/+3 |
| | | | |||||
* | | | dyncom: Implement UMAAL | Lioncash | 2014-12-19 | 1 | -1/+47 |
|/ / | |||||
* | | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -99/+101 |
| | | |||||
* | | Merge pull request #235 from yuriks/dyncom-map | bunnei | 2014-11-30 | 1 | -33/+15 |
|\ \ | | | | | | | dyncom: Use unordered_map rather than the terrible 2-level bb_map | ||||
| * | | dyncom: Use unordered_map rather than the terrible 2-level bb_map | Yuri Kunde Schlesner | 2014-11-29 | 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. | ||||
* / | arm_dyncom_interpreter: Get rid of unused var warnings | Lioncash | 2014-11-29 | 1 | -4/+2 |
|/ | |||||
* | Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated | Emmanuel Gil Peyrot | 2014-11-19 | 3 | -4/+4 |
| | |||||
* | Fix documentation of parameters | Lioncash | 2014-11-18 | 1 | -1/+1 |
| | |||||
* | ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable). | bunnei | 2014-11-12 | 1 | -2/+2 |
| | | | | - Fixes single stepping in debugger. | ||||
* | ARM: Removed unnecessary goto with each instruction. | bunnei | 2014-11-12 | 1 | -43/+39 |
| | |||||
* | ARM: Fixed several dyncom bugs. | bunnei | 2014-11-12 | 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. | ||||
* | Add `override` keyword through the code. | Yuri Kunde Schlesner | 2014-10-26 | 1 | -7/+7 |
| | | | | This was automated using `clang-modernize`. | ||||
* | ARM: Removed unnecessary and unused SkyEye MMU code. | bunnei | 2014-10-25 | 1 | -1/+0 |
| | | | | Added license header back in. I originally removed this because I mostly rewrote the file, but meh | ||||
* | ARM: Updated dyncom core to use fast label lookup table on clang. | bunnei | 2014-10-25 | 1 | -3/+7 |
| | |||||
* | ARM: Integrate SkyEye faster "dyncom" interpreter. | bunnei | 2014-10-25 | 10 | -0/+8124 |
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. |