Lioncash
473afa4530
arm: Set the A bit on reset.
This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough.
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
f48b0100a6
armdefs: Remove unnecessary extern C
11 years ago
Lioncash
49a22acd02
arm: Remove ARM26 support.
This will never be used. 32-bit is the norm.
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
Lioncash
93cd199633
arm: Change some more constants into enums
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
088fab743f
arm: Remove TRUE/FALSE defines
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
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
Lioncash
a86d5e2752
vfp: Normalize accumulator for multiply accumulate instructions
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
53fa04f326
vfpdouble: Fix the FTOUI NaN sign setting
This was fixed for vfpsingle, but not vfpdouble
11 years ago
Lioncash
a734e9fdca
Throw more unused/unnecessary VFP code out
11 years ago
Lioncash
ca7babe062
vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff
11 years ago
Lioncash
d832c48864
vfp_helper: Normalize tabs to spaces
11 years ago
Lioncash
1ecd75ea1a
vfp_helper: Remove unnecessary extern C blocks
11 years ago
Lioncash
3e576219c4
vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
Also got rid of duplicate definitions of some of these values.
11 years ago
Lioncash
82e8f25fe7
vfp: Fix VCVT
These variants exclusively read from the single precision regs and write to double-precision registers
Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers.
11 years ago
Lioncash
7ecedfb970
vfp: Throw out unused code
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
8c944bd1f0
vfp: Get rid of some compile warnings
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
904194c3e8
arm: Clean out armos.h and armmmu.h
11 years ago
Lioncash
09a66860e2
arm: Throw out a lot of unnecessary code
11 years ago
Lioncash
3dfef1701c
armdefs: Move some defines over to enums
11 years ago
Lioncash
7a3e371141
dyncom: Minor cleanup
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
11 years ago
bunnei
547737f720
Update vfp.cpp
VFP: Changed a debug log to trace.
11 years ago
Lioncash
e09fb7becc
vfp: Clean up vertical alignment for instructions
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
Chin
fa8e6272c8
Cleanup: Logging in Core
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
9288893d29
vfp: Remove dead code
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