diff options
author | Lioncash <mathew1800@gmail.com> | 2015-06-13 01:39:43 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2015-06-13 02:21:51 +0200 |
commit | 71858fc7cc6cbc9449172986b644395c750a954f (patch) | |
tree | 0274e47441859cff0f114a9a1adafea9a13d4696 /src/core/arm | |
parent | Merge pull request #856 from lioncash/vfp (diff) | |
download | yuzu-71858fc7cc6cbc9449172986b644395c750a954f.tar yuzu-71858fc7cc6cbc9449172986b644395c750a954f.tar.gz yuzu-71858fc7cc6cbc9449172986b644395c750a954f.tar.bz2 yuzu-71858fc7cc6cbc9449172986b644395c750a954f.tar.lz yuzu-71858fc7cc6cbc9449172986b644395c750a954f.tar.xz yuzu-71858fc7cc6cbc9449172986b644395c750a954f.tar.zst yuzu-71858fc7cc6cbc9449172986b644395c750a954f.zip |
Diffstat (limited to 'src/core/arm')
-rw-r--r-- | src/core/arm/skyeye_common/arm_regformat.h | 2 | ||||
-rw-r--r-- | src/core/arm/skyeye_common/vfp/vfp.cpp | 4 | ||||
-rw-r--r-- | src/core/arm/skyeye_common/vfp/vfpinstr.cpp | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/core/arm/skyeye_common/arm_regformat.h b/src/core/arm/skyeye_common/arm_regformat.h index 6c89774eb..a92effbb4 100644 --- a/src/core/arm/skyeye_common/arm_regformat.h +++ b/src/core/arm/skyeye_common/arm_regformat.h @@ -59,6 +59,8 @@ enum { VFP_FPSID, VFP_FPSCR, VFP_FPEXC, + VFP_MVFR0, + VFP_MVFR1, // Not an actual register. // All VFP system registers should be defined above this. diff --git a/src/core/arm/skyeye_common/vfp/vfp.cpp b/src/core/arm/skyeye_common/vfp/vfp.cpp index b88d47750..571d6c2f2 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 feature register values. + state->VFP[VFP_MVFR0] = 0x11111111; + state->VFP[VFP_MVFR1] = 0; + return 0; } diff --git a/src/core/arm/skyeye_common/vfp/vfpinstr.cpp b/src/core/arm/skyeye_common/vfp/vfpinstr.cpp index d4060b791..67fe63aa4 100644 --- a/src/core/arm/skyeye_common/vfp/vfpinstr.cpp +++ b/src/core/arm/skyeye_common/vfp/vfpinstr.cpp @@ -1141,12 +1141,10 @@ VMRS_INST: cpu->Reg[inst_cream->Rt] = cpu->VFP[VFP_FPSID]; break; case 6: - /* MVFR1, VFPv3 only ? */ - LOG_TRACE(Core_ARM11, "\tr%d <= MVFR1 unimplemented\n", inst_cream->Rt); + cpu->Reg[inst_cream->Rt] = cpu->VFP[VFP_MVFR1]; break; case 7: - /* MVFR0, VFPv3 only? */ - LOG_TRACE(Core_ARM11, "\tr%d <= MVFR0 unimplemented\n", inst_cream->Rt); + cpu->Reg[inst_cream->Rt] = cpu->VFP[VFP_MVFR0]; break; case 8: cpu->Reg[inst_cream->Rt] = cpu->VFP[VFP_FPEXC]; |