Emmanuel Gil Peyrot
f48b28ad27
Core, VideoCore: Replace or fix exit() calls.
2015-06-28 00:36:55 +01:00
Lioncash
71858fc7cc
vfp: Handle accesses to the VFP media feature registers
...
These are able to be accessed in any privilege mode.
2015-06-12 20:21:51 -04:00
Lioncash
e817224f89
vfp: Implement VMOVBCR/VMOVBRC
2015-06-12 02:47:10 -04:00
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
2015-05-29 21:59:29 +01:00
Lioncash
6278937a28
dyncom: Get rid of armemu.h
2015-05-23 20:51:02 -04:00
Lioncash
097d8282a6
dyncom: remove load_r15 from arm_inst
...
It's entirely unused. Also allows getting rid of more clunky macros.
2015-05-22 23:38:00 -04:00
bunnei
3a348a90fd
VFP: Log as trace to get rid of spamming.
2015-05-22 19:42:44 -04:00
Lioncash
572c91a024
dyncom: Eliminate clang warnings
...
Gets rid of a whole load of missing brace initialization warnings.
2015-05-21 16:43:21 -04:00
bunnei
f0365f28c2
Merge pull request #772 from lioncash/warn
...
core/video_core: Fix a few warnings when compiling on MSVC.
2015-05-18 08:08:49 -04:00
bunnei
6abed88092
Merge pull request #770 from lioncash/dyncom_clean
...
dyncom: Minor cleanup.
2015-05-15 09:44:39 -04:00
Yuri Kunde Schlesner
7ada357b2d
Memmap: Re-organize memory function in two files
...
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
2015-05-15 00:04:38 -03:00
Lioncash
773b1ef6bf
vfp: Get rid of warnings
...
- Unary minus operator applied to unsigned type.
- Unsafe use of bool.
2015-05-14 13:54:15 -04:00
Lioncash
f3c4de4ce4
dyncom: Remove unnecessary typedefs
2015-05-14 11:51:46 -04:00
Lioncash
ffc51161f3
vfp: Handle flush-to-zero mode.
2015-05-11 15:56:02 -04:00
Lioncash
ae0c38a333
Remove unnecessary dyncom header files
2015-05-07 20:45:28 -04:00
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner
c0eaa662d4
Clean-up includes
2015-05-06 23:45:06 -03:00
bunnei
bab5abaf46
Dyncom: Move cream cache to ARMul_State.
2015-05-01 18:27:04 -04:00
Lioncash
8b2b620a5e
dyncom: Remove more unused/unnecessary code
...
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-20 16:30:34 -04:00
Lioncash
d66a12c6f6
dyncom: Remove unused/unnecessary VFP cruft
2015-04-17 20:46:05 -04:00
Emmanuel Gil Peyrot
2e860bd59c
Core_ARM11: Replace debug prints with our own logging functions in vfpsingle.
2015-04-14 21:34:36 +02:00
Lioncash
a6c9e453b2
dyncom: Remove unnecessary enum and typedef
...
Also fixes descriptions in the process.
2015-04-07 08:05:41 -04:00
Lioncash
29a4b6c7ed
vfp: Make the FPSID values match the MPCore
2015-04-06 16:09:35 -04:00
Lioncash
f9cc6d6484
vfp: Get rid of the VFP_OFFSET macro
2015-04-06 16:09:28 -04:00
Lioncash
b7b8b67620
Move CP15 enum definitions into their own enum.
...
Also gets rid of preprocessor mumbo-jumbo
2015-04-06 12:48:35 -04:00
Lioncash
490df716f3
dyncom: Move CP15 register writing into its own function.
...
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
2015-04-02 00:20:52 -04:00
Lioncash
5e5954c63b
dyncom: Move CP15 register reading into its own function.
...
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
2015-04-02 00:19:11 -04:00
Lioncash
de6eba0288
dyncom: Migrate InAPrivilegedMode to armsupp
...
It's a generic helper function, so it should be here anyway.
2015-03-26 09:22:02 -04:00
Lioncash
f23f2a9a42
armmmu: Remove unnecessary enum values
...
We don't need to care about XScale or Intel specific ARM stuff.
2015-03-20 19:35:32 -04:00
Lioncash
9fdb311d6e
dyncom: Make Load/Store instructions support big endian
2015-03-17 15:13:32 -04:00
Lioncash
4b89cf9e43
vfp: Get rid of warnings
2015-03-03 19:13:01 -05:00
Lioncash
1bb400be1b
arm: Remove unnecessary booleans
...
We don't care about any of these.
2015-02-25 10:55:50 -05:00
Lioncash
4f910bb1a1
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 18:53:50 -05:00
Lioncash
f0c4bd629c
vfpdouble: Use %p for printing pointer addresses.
2015-02-15 17:11:02 -05:00
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.
2015-02-15 00:35:50 -05:00
Lioncash
0c6434c379
core: Apply static to local functions
2015-02-13 10:48:32 -05:00
Lioncash
a75e1ff6e6
arm: General cleanup
...
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
2015-02-13 09:11:12 -05:00
Lioncash
b7fac494cd
dyncom: Switch the app and system cores into the correct mode at initialization
2015-02-12 21:54:28 -05:00
Lioncash
c3211c9c80
dyncom: Clean up the constructor
...
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-12 21:50:51 -05:00
Lioncash
e3f5c6366c
arm: Remove ARMul_EmulateInit
...
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12 11:30:28 -05:00
Lioncash
f48b0100a6
armdefs: Remove unnecessary extern C
2015-02-12 08:29:57 -05:00
Lioncash
49a22acd02
arm: Remove ARM26 support.
...
This will never be used. 32-bit is the norm.
2015-02-11 12:23:21 -05:00
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.
2015-02-11 10:49:55 -05:00
Lioncash
93cd199633
arm: Change some more constants into enums
2015-02-11 10:14:20 -05:00
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.
2015-02-10 13:09:41 -05:00
bunnei
67db6aa4ce
Merge pull request #553 from lioncash/denorm
...
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 10:09:45 -05:00
Lioncash
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
Lioncash
a86d5e2752
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 08:16:26 -05:00
Lioncash
53fa04f326
vfpdouble: Fix the FTOUI NaN sign setting
...
This was fixed for vfpsingle, but not vfpdouble
2015-02-09 17:18:29 -05:00
Lioncash
a734e9fdca
Throw more unused/unnecessary VFP code out
2015-02-09 11:54:39 -05:00
Lioncash
ca7babe062
vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff
2015-02-09 09:53:17 -05:00
Lioncash
d832c48864
vfp_helper: Normalize tabs to spaces
2015-02-09 09:32:56 -05:00
Lioncash
1ecd75ea1a
vfp_helper: Remove unnecessary extern C blocks
2015-02-06 14:52:29 -05:00
Lioncash
3e576219c4
vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
...
Also got rid of duplicate definitions of some of these values.
2015-02-06 14:52:05 -05:00
bunnei
7f900ac68e
Merge pull request #537 from lioncash/vfp
...
vfp: Fix VCVT
2015-02-04 14:58:36 -05:00
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.
2015-02-04 14:06:10 -05:00
Lioncash
7ecedfb970
vfp: Throw out unused code
2015-02-04 13:11:03 -05:00
bunnei
c8628f5d56
Merge pull request #525 from lioncash/armwarn
...
vfp: Get rid of some compile warnings
2015-02-01 00:28:50 -05:00
Lioncash
8c944bd1f0
vfp: Get rid of some compile warnings
2015-01-31 22:14:00 -05:00
Lioncash
3f00dd9117
arm: Clean up ARMul_State
...
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
Lioncash
f44781fd7b
arm: Adios armemu
2015-01-31 20:43:03 -05:00
Lioncash
fc1a9e35fb
arm: Move headers over to pragma once
2015-01-30 16:17:02 -05:00
Lioncash
83bc1a3120
arm: Get rid of armcpu.h and skyeye_types.h
2015-01-30 16:16:58 -05:00
Lioncash
904194c3e8
arm: Clean out armos.h and armmmu.h
2015-01-30 15:48:57 -05:00
Lioncash
09a66860e2
arm: Throw out a lot of unnecessary code
2015-01-30 13:32:03 -05:00
Lioncash
3dfef1701c
armdefs: Move some defines over to enums
2015-01-30 12:43:58 -05:00
bunnei
547737f720
Update vfp.cpp
...
VFP: Changed a debug log to trace.
2015-01-26 21:38:53 -05:00
bunnei
cc34462b71
Merge pull request #410 from chinhodado/cleanup
...
Cleanup: Logging in Core
2015-01-24 00:41:10 -05:00
Lioncash
e09fb7becc
vfp: Clean up vertical alignment for instructions
2015-01-23 13:35:08 -05:00
Lioncash
8c6edc680c
dyncom: Clarify precedence for ternary statements
2015-01-19 20:35:55 -05:00
Chin
fa8e6272c8
Cleanup: Logging in Core
2015-01-19 16:01:06 -05:00
Lioncash
9288893d29
vfp: Remove dead code
2015-01-12 15:24:57 -05:00
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
2015-01-12 00:44:28 -05:00
bunnei
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
Kevin Hartman
8132c01830
Added exclusive reservation granule from ARMv7 spec to dyncom to protect LDR/STREX.
2015-01-05 22:29:51 -05:00
bunnei
8b1ec1a82a
Merge pull request #418 from lioncash/qd
...
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:59:12 -05:00
Lioncash
d00c22c706
dyncom: Implement QADD/QSUB/QDADD/QDSUB
2015-01-05 09:13:41 -05:00
Lioncash
41e1cb12e5
skyeye: Remove duplicate typedefs
...
citra already has its own typedefs like this.
2015-01-04 12:34:02 -05:00
bunnei
b11518c272
VFP: Minor cleanup, functionally the same.
2015-01-03 01:22:38 -05:00
Lioncash
3337b84620
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
2015-01-02 18:29:30 -05:00
bunnei
631f13e462
dyncom: Massive refactor
2014-12-30 23:56:45 -05:00
Lioncash
5894c407c2
vfp: Get rid of a few warnings
2014-12-30 13:08:56 -05:00
Lioncash
6ce4b7b666
vfp: Implement VMOVBRRSS
2014-12-30 11:04:22 -05:00
bunnei
021fb42075
dyncom: Implement USAT/SSAT
2014-12-29 22:15:15 -05:00
bunnei
aa49019afb
dyncom: Various cleanups to match coding style, no functional changes.
2014-12-29 21:50:47 -05:00
Lioncash
7ad400d5a7
armemu: Implement QADD8/QSUB8
2014-12-29 00:49:10 -05:00
Lioncash
9c7f2570f7
vfp: Actually make the code somewhat readable
2014-12-28 18:55:01 -05:00
Lioncash
7d322b5c6f
dyncom: Implement USAD8/USADA8
2014-12-28 12:40:51 -05:00
bunnei
762f16c4ad
Merge pull request #354 from lioncash/usaduflow
...
armemu: Fix underflows in USAD8/USADA8
2014-12-28 11:57:25 -05:00
Lioncash
059c65a27a
armemu: Fix underflows in USAD8/USADA8
...
Initially reported by xdec.
2014-12-28 06:09:43 -05:00
Lioncash
af69b0840b
dyncom: Implement UQADD8, UQADD16, UQSUB8, UQSUB16, UQASX, and UQSAX.
2014-12-27 17:24:34 -05:00
Lioncash
60523113a9
armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX
2014-12-27 17:06:19 -05:00
Lioncash
79a7a432c5
armemu: Set the Q flag properly for SMLAD/SMUAD
2014-12-23 09:58:21 -05:00
Lioncash
8e2accd974
armemu: Fix construction of the CPSR
2014-12-22 23:51:59 -05:00
Normmatt
9c127f4a01
armemu: Fix FTOUI NaN sign.
2014-12-16 05:56:06 -05:00
Normmatt
2ed03c10e0
armemu: Fix FSUBS bug where NaN shouldn't be negated
2014-12-16 05:54:00 -05:00
bunnei
1ee740898a
Merge pull request #276 from lioncash/decrappify
...
Clean up armdefs.h a little.
2014-12-14 22:08:14 -05:00
bunnei
d26b7146ce
ARM: Pull some SkyEye fixes from 3dmoo.
2014-12-14 21:51:46 -05:00
Lioncash
f6cb8c1927
Clean up armdefs.h
2014-12-14 02:00:42 -05:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00