MerryMage
abe5d64fd6
dyncom: Read-after-write in SMLA
...
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-22 15:13:33 +01:00
MerryMage
0da5e44c89
Dyncom: Correct implementation of STM for R15
2016-08-14 00:49:34 +01:00
MerryMage
a7711eaf4f
dyncom: Fix translation of thumb REVSH
2016-07-28 11:51:29 +01:00
archshift
b1f3ae6056
Make arm_dyncom_trans* into a fully fledged compilation unit
2016-06-12 01:54:45 -07:00
archshift
3b371f5816
arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive
2016-06-12 00:31:52 -07:00
archshift
090a9166fc
arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
...
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-10 18:45:48 -07:00
archshift
39e3e9c2d9
arm_dyncom_interpreter: rename operation functions to fit style guide
2016-06-10 18:42:08 -07:00
archshift
31b8dc0ca4
arm_dyncom_interpreter: Rename anonymous enum to TransExtData
2016-06-10 18:35:57 -07:00
archshift
5bf480bf56
arm_dyncom_interpreter.cpp: #include translation info from inc files
2016-06-10 18:25:30 -07:00
Mat M
c59b338a39
Merge pull request #1568 from JayFoxRox/fix-printf
...
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
Jannik Vogel
7d2670f08e
Remove exceptions
parameter from normaliseround
VFP functions
2016-05-18 16:28:13 +02:00
Jannik Vogel
053fb90466
Fix exception propagation for VFP single precision
2016-05-18 15:24:42 +02:00
Jannik Vogel
afa5e151e8
Fix exception propagation for VFP double precision
2016-05-18 15:24:42 +02:00
Jannik Vogel
128981cf3c
Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD
2016-05-18 14:03:02 +02:00
Jannik Vogel
f39adfffe7
Set fpscr for new threads
2016-05-17 08:59:52 +02:00
Jannik Vogel
cc6731695e
Fix ftoi behaviour
2016-05-16 15:00:45 +02:00
Jannik Vogel
e686f222a9
Respect fpscr in ftoiz
2016-05-16 15:00:45 +02:00
Jannik Vogel
c571e1237c
Disable VFP3 instructions
2016-05-16 15:00:45 +02:00
Lioncash
e4ccba3ffa
dyncom: Reset the context into user mode correctly
...
The other mode was system mode.
2016-05-09 16:30:55 -04:00
Yuri Kunde Schlesner
2396b01d5d
Common: Remove section measurement from profiler ( #1731 )
...
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-29 00:07:10 -07:00
mailwl
c4f53f4f6b
Fix BLX LR opcode interpretation
2016-04-09 19:11:02 +03:00
mailwl
1b840ce43c
Update cpsr (T)humb bit while creating thread
2016-04-08 18:41:09 +03:00
mailwl
f1fb108e03
Fix thumb ADR instruction alignment
2016-04-06 19:46:58 +03:00
Mathew Maidment
3cf5e4d51c
Merge pull request #1643 from MerryMage/make_unique
...
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
9f9c987924
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
Mathew Maidment
723d1b2e3f
Merge pull request #1618 from MerryMage/one-step
...
Prevent cache overflow when single stepping
2016-03-31 11:00:42 -04:00
MerryMage
c1d2977e0a
DynCom: Optimize single stepping
2016-03-30 18:57:59 +01:00
Lioncash
438bbb84e7
armstate: Correct FIQ register banking
...
FIQ has seven banked registers (R8 to R14), not two.
2016-03-21 18:56:27 -04:00
rob turner
0d435fe4d8
ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name
2016-01-19 18:42:16 +01:00
Lioncash
49e3979ae6
arm_dyncom_dec: Fix decoding of VMLS
...
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-30 14:23:07 -05:00
Lioncash
39609e9d6e
dyncom: Handle modifying the APSR via an MRC instruction
2015-12-28 07:52:04 -05:00
Lioncash
0908f894ca
dyncom: Remove PC dispatch from several instructions
...
These instructions aren't capable of using the PC as a destination
2015-12-20 21:19:02 -05:00
Lioncash
2f0474efa5
dyncom: Handle unprivileged load/store variants correctly
...
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-19 19:05:50 -05:00
Lioncash
8813673601
dyncom: Remove static keyword from header functions
2015-12-06 15:14:51 -05:00
Lioncash
0f083bdf0f
arm_interface: Make GetNumInstructions const
2015-12-06 15:07:59 -05:00
Lioncash
dd441a3dd6
arm_interface: directly initialize class members
2015-12-06 15:07:00 -05:00
Lioncash
93cd3dccc5
dyncom: const correctness changes
2015-12-06 15:03:06 -05:00
Lioncash
af06eaf78d
armstate: Zero out the registers on creation
...
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
2015-11-29 15:16:34 -05:00
bunnei
5f52cec725
Merge pull request #1122 from polaris-/gdbstub
...
gdbstub implementation
2015-11-11 23:21:31 -05:00
polaris-
6621f16576
Remove unnecessary new lines, changed Deinit to Shutdown
2015-10-11 20:07:58 -04:00
Emmanuel Gil Peyrot
b0c7762520
CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
...
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
polaris-
8205925b08
Use BreakpointAddress struct instead of passing address directly
2015-10-04 11:22:31 -04:00
polaris-
1d319e5b46
Implement gdbstub
2015-10-04 11:16:59 -04:00
Lioncash
08147474cb
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Lioncash
5c77b656b8
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 14:59:49 -04:00
archshift
358f54fa1d
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
2015-09-05 22:24:42 -07:00
Lioncash
3fb10e8f62
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 -04:00
Lioncash
f8425c3dad
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 -04:00
Yuri Kunde Schlesner
424b0fa646
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner
e3936a67b7
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00