archshift
ca20b1f87d
Make arm_dyncom_trans* into a fully fledged compilation unit
2016-06-12 01:54:45 -07:00
archshift
54b5178f6c
arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive
2016-06-12 00:31:52 -07:00
archshift
765eef3319
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
eac4c016cb
arm_dyncom_interpreter: rename operation functions to fit style guide
2016-06-10 18:42:08 -07:00
archshift
5297f5dfc9
arm_dyncom_interpreter: Rename anonymous enum to TransExtData
2016-06-10 18:35:57 -07:00
archshift
2c482722e7
arm_dyncom_interpreter.cpp: #include translation info from inc files
2016-06-10 18:25:30 -07:00
Mat M
031a9c57bb
Merge pull request #1568 from JayFoxRox/fix-printf
...
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
Jannik Vogel
3a45eacb16
Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD
2016-05-18 14:03:02 +02:00
Jannik Vogel
1643786c04
Disable VFP3 instructions
2016-05-16 15:00:45 +02:00
Lioncash
0f941d0245
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
e3a8292495
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
2efc1c9348
Fix BLX LR opcode interpretation
2016-04-09 19:11:02 +03:00
mailwl
4630209c4c
Update cpsr (T)humb bit while creating thread
2016-04-08 18:41:09 +03:00
mailwl
06a4369f75
Fix thumb ADR instruction alignment
2016-04-06 19:46:58 +03:00
Mathew Maidment
aa6380e5bc
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
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
MerryMage
cbba0bec7c
DynCom: Optimize single stepping
2016-03-30 18:57:59 +01:00
Lioncash
532dc797c9
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
fddfe946c8
dyncom: Handle modifying the APSR via an MRC instruction
2015-12-28 07:52:04 -05:00
Lioncash
d09b7a3c12
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
5a531d7ec2
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
56e22e6aac
dyncom: Remove static keyword from header functions
2015-12-06 15:14:51 -05:00
Lioncash
d03e7f08ff
dyncom: const correctness changes
2015-12-06 15:03:06 -05:00
polaris-
2b7316a379
Remove unnecessary new lines, changed Deinit to Shutdown
2015-10-11 20:07:58 -04:00
polaris-
42928659e8
Use BreakpointAddress struct instead of passing address directly
2015-10-04 11:22:31 -04:00
polaris-
31dee93e84
Implement gdbstub
2015-10-04 11:16:59 -04:00
archshift
9e8383e296
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
2015-09-05 22:24:42 -07:00
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 -04:00
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 -04:00
Yuri Kunde Schlesner
0fcabd2b11
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
bunnei
cebf245504
Merge pull request #1027 from lioncash/debugger
...
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
Emmanuel Gil Peyrot
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
2015-08-11 22:38:44 +01:00
Lioncash
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
bunnei
ce65925bc3
Merge pull request #1008 from lioncash/pc
...
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
Lioncash
46663d657f
dyncom: Remove an unused variable
...
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-29 10:57:47 -04:00
Lioncash
2182adff9e
dyncom: Handle left-operand PC correctly for data-processing ops
...
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 20:14:08 -04:00
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
2015-07-28 03:41:25 -04:00
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
2015-07-28 02:27:57 -04:00
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
2015-07-27 22:22:00 -04:00
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
2015-07-27 22:06:59 -04:00
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
...
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
2015-07-26 13:21:04 -04:00
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
...
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
Lioncash
03213f893e
dyncom: Remove unnecessary initialization code.
...
Targeting ARM version variants was only a thing on armemu.
The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
Lioncash
3257d797e1
dyncom: Remove unnecessary abort-related cruft
...
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
2015-07-25 22:10:44 -04:00
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
2015-07-25 20:52:10 -04:00
Lioncash
0191c26521
dyncom: Move helper functions to their own header
2015-07-25 20:35:18 -04:00
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
...
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00