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.
2015-02-10 18:30:31 -08:00
8d2fb3bb2b
arm_dyncom_thumb: Make lookup tables static
...
These don't need to be recreated all the time.
2015-02-10 10:42:09 -05:00
3eccc66abf
dyncom: Add more regs to MCR/MRC
...
Adds the registers that were left out of some coprocessor ranges.
2015-02-10 09:34:42 -05:00
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.
2015-02-09 21:47:12 -08:00
3a5a39c6aa
dyncom: Remove more unnecessary code
2015-02-03 14:05:53 -05:00
676daef3c7
core: Fix some warnings on OSX
2015-02-03 08:14:42 -05:00
3f00dd9117
arm: Clean up ARMul_State
...
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
f44781fd7b
arm: Adios armemu
2015-01-31 20:43:03 -05:00
b6cfc48a0b
dyncom: clean up arm_dyncom_dec.h
2015-01-30 16:28:52 -05:00
fc1a9e35fb
arm: Move headers over to pragma once
2015-01-30 16:17:02 -05:00
83bc1a3120
arm: Get rid of armcpu.h and skyeye_types.h
2015-01-30 16:16:58 -05:00
7a3e371141
dyncom: Minor cleanup
...
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-27 08:51:18 -05:00
8810dfe1de
dyncom: Minor cleanup
...
Removes some unused macros and cleans up indentation inconsistencies
2015-01-22 09:39:41 -05:00
8c6edc680c
dyncom: Clarify precedence for ternary statements
2015-01-19 20:35:55 -05:00
a873f157d0
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
2015-01-18 18:32:02 -05:00
8575010a68
dyncom: Handle the ARM A2 encoding of STRT/LDRT
...
These were also missing the shifted register case.
2015-01-17 13:53:35 -05:00
0a5d450e94
dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.
2015-01-16 21:05:27 -05:00
f7770b83d4
dyncom: Fix 32-bit ASR shifts for immediates
2015-01-12 14:15:24 -05:00
e16b35eb53
dyncom: Remove unused flag macros
2015-01-12 12:57:15 -05:00
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
2015-01-12 01:11:46 -05:00
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
...
Also cleans up CMN, and CMP.
2015-01-12 01:03:58 -05:00
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
2015-01-12 00:44:28 -05:00
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
2015-01-11 22:27:09 -05:00
eabfa5cf43
dyncom: Fix conditional execution of MSR
2015-01-11 18:45:45 -05:00
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00
fc842963c8
DynCom: Add a comment to GetTicks.
2015-01-08 19:46:00 -05:00
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
2015-01-08 19:39:14 -05:00
1cef6e92d5
dyncom: Fix UMAAL
...
These need to be done as a 64-bit operation.
2015-01-08 11:09:21 -05:00
4c583732f2
Merge pull request #442 from lioncash/smul
...
dyncom: Fix SMULWB/SMULWT
2015-01-07 16:49:30 -05:00
df5e0f9f28
dyncom: Fix SMULWB/SMULWT
...
Wasn't doing proper sign-extension
2015-01-07 16:41:08 -05:00
3eca33c6a4
Merge pull request #425 from Subv/coretiming
...
Ported the CoreTiming namespace from PPSSPP
2015-01-07 15:30:46 -05:00
9bf82beb4c
CoreTiming: Ported the CoreTiming namespace from PPSSPP
...
Implemented the required calls to make it work.
CoreTiming: Added a new logging class Core_Timing.
2015-01-07 15:08:35 -05:00
317fe1e528
Merge pull request #438 from lioncash/swp
...
dyncom: Fix SWPB
2015-01-07 09:53:29 -05:00
75c211c10f
dyncom: Fix SWPB
2015-01-07 09:36:06 -05:00
511e13f3e3
dyncom: Move over SMLALXY
2015-01-07 00:53:56 -05:00
89bb0ecbd5
Merge pull request #417 from kevinhartman/exclusive-tag-fix
...
Added exclusive reservation granule from ARMv7 spec to dyncom...
2015-01-06 12:42:10 -05:00
8132c01830
Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.
2015-01-05 22:29:51 -05:00
f75def619c
dyncom: Partially emulate BXJ
...
Just in case some game studio let the intern write inline assembly or something.
2015-01-05 15:55:09 -05:00
e08a39a2f4
dyncom: Actually set the Q flag for SMLABB/SMLABT/SMLATB/SMLATT
...
Easy skyeye todo fix.
2015-01-05 10:41:02 -05:00
8b1ec1a82a
Merge pull request #418 from lioncash/qd
...
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:59:12 -05:00
d00c22c706
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:13:41 -05:00
41e1cb12e5
skyeye: Remove duplicate typedefs
...
citra already has its own typedefs like this.
2015-01-04 12:34:02 -05:00
6adc0a4622
dyncom: Implement SMLAW
2015-01-03 03:13:49 -05:00
dd21f986b8
Merge pull request #395 from lioncash/rev
...
dyncom: Implement REVSH
2015-01-02 22:44:39 -05:00
2f19acf064
dyncom: Implement REVSH
...
Also joins the REV ops into one common place.
2015-01-02 22:40:43 -05:00
e0e54f55d7
dyncom: Implement SMLALD/SMLSLD
2015-01-02 22:08:26 -05:00
3e230d6c9e
Merge pull request #392 from lioncash/sm
...
dyncom: Implement SMMLA/SMMUL/SMMLS
2015-01-02 21:47:53 -05:00
64161bcb41
dyncom: Implement SMMLA/SMMUL/SMMLS
2015-01-02 21:40:29 -05:00
dd8a57cb80
dyncom: Implemented LDREXD/STREXD/LDREXH/STREXH
2015-01-02 20:51:54 -05:00
3b2da87080
Merge pull request #390 from lioncash/wut
...
dyncom: Remove dead function InterpreterInitInstLength
2015-01-02 20:40:29 -05:00