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.
10 years ago
mailwl
2efc1c9348
Fix BLX LR opcode interpretation
10 years ago
mailwl
4630209c4c
Update cpsr (T)humb bit while creating thread
10 years ago
mailwl
06a4369f75
Fix thumb ADR instruction alignment
10 years ago
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
10 years ago
MerryMage
cbba0bec7c
DynCom: Optimize single stepping
10 years ago
Lioncash
d53c9cde1a
armstate: Correct FIQ register banking
FIQ has seven banked registers (R8 to R14), not two.
10 years ago
rob turner
d29578d467
ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name
10 years ago
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)
10 years ago
Lioncash
fddfe946c8
dyncom: Handle modifying the APSR via an MRC instruction
10 years ago
Lioncash
d09b7a3c12
dyncom: Remove PC dispatch from several instructions
These instructions aren't capable of using the PC as a destination
10 years ago
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
10 years ago
Lioncash
56e22e6aac
dyncom: Remove static keyword from header functions
10 years ago
Lioncash
1ea0702eaa
arm_interface: Make GetNumInstructions const
10 years ago
Lioncash
de9a625c7e
arm_interface: directly initialize class members
10 years ago
Lioncash
d03e7f08ff
dyncom: const correctness changes
10 years ago
Lioncash
5e2b66d2a4
armstate: Zero out the registers on creation
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
10 years ago
polaris-
2b7316a379
Remove unnecessary new lines, changed Deinit to Shutdown
10 years ago
Emmanuel Gil Peyrot
14af5919ba
CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
The LOG_* function itself already appends one.
10 years ago
polaris-
42928659e8
Use BreakpointAddress struct instead of passing address directly
10 years ago
polaris-
31dee93e84
Implement gdbstub
10 years ago
polaris-
5114d75647
Implement gdbstub
10 years ago
Lioncash
751fbfdcc3
general: Silence some warnings when using clang
10 years ago
Lioncash
60b3fc01a2
General: Replace NULL and '0' usages with nullptr where applicable
10 years ago
archshift
9e8383e296
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
10 years ago
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
11 years ago
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
11 years ago
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
11 years ago
Yuri Kunde Schlesner
e2c7954be5
Memory: Move address type conversion routines to memory.cpp/h
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
11 years ago
Lioncash
46b0277cbf
vfp: use std::swap where applicable
11 years ago
Emmanuel Gil Peyrot
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
11 years ago
aroulin
38c87733d9
arm_disasm: ARMv6 mul/div and abs media instructions
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
11 years ago
aroulin
4a1db13072
arm_disasm: ARMv6 parallel add/sub media instructions
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
11 years ago
aroulin
0be8e1bfb6
arm_disasm: ARMv6 reversal media instructions
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
11 years ago
aroulin
e4ff244288
arm_disasm: ARMv6 saturation media instructions
SSAT, SSAT16, USAT, USAT16
11 years ago
aroulin
47657a1817
arm_disasm: ARMv6 packing and sign-extend media instructions
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
11 years ago
Lioncash
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
11 years ago
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
This part of disassembly only determines the opcode, there's no need for offset calculation here.
11 years ago
aroulin
3425cfe54a
Disassembler: ARMv6K REX instructions
11 years ago
aroulin
5d81a2fd48
Disassembler: ARMv6K hint instructions
11 years ago
Lioncash
46663d657f
dyncom: Remove an unused variable
This was used prior to InterpreterTranslate existing.
11 years ago
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
11 years ago
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).
11 years ago
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
11 years ago
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
11 years ago
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
11 years ago
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
11 years ago
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
These are already present in arm_dyncom_dec.h.
11 years ago
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
11 years ago
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
Gets rid of C-like parameter passing.
11 years ago