Lioncash
8cf81643a9
arm_interface: Get rid of GetTicks.
Removes a TODO.
11 years ago
Lioncash
e34ba68e1f
dyncom: Minor cleanup
Assemblers will exit with an error when trying to assemble instructions with disallowed registers.
11 years ago
Lioncash
386dbab5ea
dyncom: Fix an indexing bug in STM
Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written.
11 years ago
Lioncash
36dab56c31
dyncom: General cleanup of STM
11 years ago
Lioncash
e37425b380
dyncom: Increment addr when accessing LR in LDM
11 years ago
Yuri Kunde Schlesner
cd1fbfcf1b
Add profiling infrastructure and widget
11 years ago
Lioncash
8812d2fbdb
arm: The CP15 Main ID register is not writeable
11 years ago
Kevin Hartman
05c098a9e7
Cleaned up unaligned access.
11 years ago
Lioncash
a7120662e6
dyncom: Support conditional BKPT instructions
11 years ago
Lioncash
012d1e32ad
dyncom: Actually set the destination register for USAD8/USADA8.
Idiotville: Population: 1 - Inhabitant name: Lioncash
11 years ago
Lioncash
0c6434c379
core: Apply static to local functions
11 years ago
Lioncash
a75e1ff6e6
arm: General cleanup
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
11 years ago
Lioncash
b7fac494cd
dyncom: Switch the app and system cores into the correct mode at initialization
11 years ago
Lioncash
c3211c9c80
dyncom: Clean up the constructor
Some function calls aren't necessary and would be handled by regular initialization routines.
11 years ago
Lioncash
df9e0c0f81
dyncom: Remove warning for SXTAH
This is tested to work correctly.
11 years ago
Lioncash
e3f5c6366c
arm: Remove ARMul_EmulateInit
This was only used for armemu, which has since been removed. Removed components related to this as well.
11 years ago
Lioncash
c94c41f95a
arm: Get rid of some magic constants. Specify proper ARM mode.
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
11 years ago
archshift
ef24e72b26
Asserts: break/crash program, fit to style guide; log.h->assert.h
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.
11 years ago
Lioncash
8d2fb3bb2b
arm_dyncom_thumb: Make lookup tables static
These don't need to be recreated all the time.
11 years ago
Lioncash
3eccc66abf
dyncom: Add more regs to MCR/MRC
Adds the registers that were left out of some coprocessor ranges.
11 years ago
Kevin Hartman
5fcbfc06eb
Scheduler refactor Pt. 1
* 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.
11 years ago
Lioncash
3a5a39c6aa
dyncom: Remove more unnecessary code
11 years ago
Lioncash
676daef3c7
core: Fix some warnings on OSX
11 years ago
Lioncash
3f00dd9117
arm: Clean up ARMul_State
Remove unnecessary/unused struct variables.
11 years ago
Lioncash
f44781fd7b
arm: Adios armemu
11 years ago
Lioncash
b6cfc48a0b
dyncom: clean up arm_dyncom_dec.h
11 years ago
Lioncash
fc1a9e35fb
arm: Move headers over to pragma once
11 years ago
Lioncash
83bc1a3120
arm: Get rid of armcpu.h and skyeye_types.h
11 years ago
Lioncash
7a3e371141
dyncom: Minor cleanup
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
11 years ago
Lioncash
8810dfe1de
dyncom: Minor cleanup
Removes some unused macros and cleans up indentation inconsistencies
11 years ago
Lioncash
8c6edc680c
dyncom: Clarify precedence for ternary statements
11 years ago
Lioncash
a873f157d0
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
11 years ago
Lioncash
8575010a68
dyncom: Handle the ARM A2 encoding of STRT/LDRT
These were also missing the shifted register case.
11 years ago
Lioncash
0a5d450e94
dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.
11 years ago
Lioncash
f7770b83d4
dyncom: Fix 32-bit ASR shifts for immediates
11 years ago
Lioncash
e16b35eb53
dyncom: Remove unused flag macros
11 years ago
Lioncash
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
11 years ago
Lioncash
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
Also cleans up CMN, and CMP.
11 years ago
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
11 years ago
Lioncash
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
11 years ago
Lioncash
eabfa5cf43
dyncom: Fix conditional execution of MSR
11 years ago
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
11 years ago
Subv
fc842963c8
DynCom: Add a comment to GetTicks.
11 years ago
Subv
620d77b7e3
Timing: Use CoreTiming::GetTicks to keep track of ticks.
This will keep track of idle ticks for us, and fixes some tickcount-related issues
11 years ago
Lioncash
1cef6e92d5
dyncom: Fix UMAAL
These need to be done as a 64-bit operation.
11 years ago
Lioncash
df5e0f9f28
dyncom: Fix SMULWB/SMULWT
Wasn't doing proper sign-extension
11 years ago
Subv
9bf82beb4c
CoreTiming: Ported the CoreTiming namespace from PPSSPP
Implemented the required calls to make it work.
CoreTiming: Added a new logging class Core_Timing.
11 years ago
Lioncash
75c211c10f
dyncom: Fix SWPB
11 years ago
Lioncash
511e13f3e3
dyncom: Move over SMLALXY
11 years ago
Kevin Hartman
8132c01830
Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.
11 years ago