aboutsummaryrefslogtreecommitdiff
path: root/src/core/arm/skyeye_common/vfp/vfp.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2015-06-29 09:51:59 -0400
committerbunnei <bunneidev@gmail.com>2015-06-29 09:51:59 -0400
commit308543821631f060e1a9f38f0a278e2f7d149471 (patch)
tree12f2ace4e6bd90c826f646fb12a44ccd3d099574 /src/core/arm/skyeye_common/vfp/vfp.cpp
parent19d5fbce8e9a5419b5cbae610bbf18de82d87f2c (diff)
parent32a6379bc883a18124fbb5027a87738881f7a011 (diff)
Merge pull request #895 from lioncash/vfp
vfp: Handle accesses to FPINST/FPINST2 system registers.
Diffstat (limited to 'src/core/arm/skyeye_common/vfp/vfp.cpp')
-rw-r--r--src/core/arm/skyeye_common/vfp/vfp.cpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/core/arm/skyeye_common/vfp/vfp.cpp b/src/core/arm/skyeye_common/vfp/vfp.cpp
index 571d6c2f2..f40cf5955 100644
--- a/src/core/arm/skyeye_common/vfp/vfp.cpp
+++ b/src/core/arm/skyeye_common/vfp/vfp.cpp
@@ -33,6 +33,10 @@ unsigned VFPInit(ARMul_State* state)
state->VFP[VFP_FPEXC] = 0;
state->VFP[VFP_FPSCR] = 0;
+ // ARM11 MPCore instruction register reset values.
+ state->VFP[VFP_FPINST] = 0xEE000A00;
+ state->VFP[VFP_FPINST2] = 0;
+
// ARM11 MPCore feature register values.
state->VFP[VFP_MVFR0] = 0x11111111;
state->VFP[VFP_MVFR1] = 0;
@@ -40,18 +44,6 @@ unsigned VFPInit(ARMul_State* state)
return 0;
}
-void VMSR(ARMul_State* state, ARMword reg, ARMword Rt)
-{
- if (reg == 1)
- {
- state->VFP[VFP_FPSCR] = state->Reg[Rt];
- }
- else if (reg == 8)
- {
- state->VFP[VFP_FPEXC] = state->Reg[Rt];
- }
-}
-
void VMOVBRS(ARMul_State* state, ARMword to_arm, ARMword t, ARMword n, ARMword* value)
{
if (to_arm)