From de6eba02885fe12af1b28bb87433310363fac20a Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Thu, 26 Mar 2015 09:21:24 -0400
Subject: [PATCH] dyncom: Migrate InAPrivilegedMode to armsupp

It's a generic helper function, so it should be here anyway.
---
 src/core/arm/dyncom/arm_dyncom_interpreter.cpp | 4 ----
 src/core/arm/interpreter/armsupp.cpp           | 6 ++++++
 src/core/arm/skyeye_common/armdefs.h           | 1 +
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
index 2765cb36e..1fc342d02 100644
--- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
+++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp
@@ -3690,10 +3690,6 @@ static int clz(unsigned int x) {
     return n;
 }
 
-static bool InAPrivilegedMode(ARMul_State* core) {
-    return (core->Mode != USER32MODE);
-}
-
 unsigned InterpreterMainLoop(ARMul_State* state) {
     Common::Profiling::ScopeTimer timer_execute(profile_execute);
 
diff --git a/src/core/arm/interpreter/armsupp.cpp b/src/core/arm/interpreter/armsupp.cpp
index aca2bfbbd..f826ccb2d 100644
--- a/src/core/arm/interpreter/armsupp.cpp
+++ b/src/core/arm/interpreter/armsupp.cpp
@@ -207,3 +207,9 @@ bool InBigEndianMode(ARMul_State* cpu)
 {
     return (cpu->Cpsr & (1 << 9)) != 0;
 }
+
+// Whether or not the given CPU is in a mode other than user mode.
+bool InAPrivilegedMode(ARMul_State* cpu)
+{
+    return (cpu->Mode != USER32MODE);
+}
diff --git a/src/core/arm/skyeye_common/armdefs.h b/src/core/arm/skyeye_common/armdefs.h
index c1a19fecc..633649d3e 100644
--- a/src/core/arm/skyeye_common/armdefs.h
+++ b/src/core/arm/skyeye_common/armdefs.h
@@ -357,3 +357,4 @@ extern u32 ARMul_SignedSatQ(s32, u8, bool*);
 extern u32 ARMul_UnsignedSatQ(s32, u8, bool*);
 
 extern bool InBigEndianMode(ARMul_State*);
+extern bool InAPrivilegedMode(ARMul_State*);