diff mbox

target-arm: Move bank_number() into internals.h

Message ID 1455292245-30461-1-git-send-email-peter.maydell@linaro.org
State New
Headers show

Commit Message

Peter Maydell Feb. 12, 2016, 3:50 p.m. UTC
Move bank_number()'s implementation into internals.h, so
it's available in the user-mode-only compile as well.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
Embarrassingly light on testing on that last change.

 target-arm/helper.c    | 25 -------------------------
 target-arm/internals.h | 26 +++++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 26 deletions(-)

Comments

Sergey Fedorov Feb. 12, 2016, 5:24 p.m. UTC | #1
On 12.02.2016 18:50, Peter Maydell wrote:
> Move bank_number()'s implementation into internals.h, so
> it's available in the user-mode-only compile as well.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Sergey Fedorov <serge.fdrv@gmail.com>

> ---
> Embarrassingly light on testing on that last change.
>
>  target-arm/helper.c    | 25 -------------------------
>  target-arm/internals.h | 26 +++++++++++++++++++++++++-
>  2 files changed, 25 insertions(+), 26 deletions(-)
>
> diff --git a/target-arm/helper.c b/target-arm/helper.c
> index c46e3d0..a420a2a 100644
> --- a/target-arm/helper.c
> +++ b/target-arm/helper.c
> @@ -5378,31 +5378,6 @@ void aarch64_sync_64_to_32(CPUARMState *env)
>  
>  #else
>  
> -/* Map CPU modes onto saved register banks.  */
> -int bank_number(int mode)
> -{
> -    switch (mode) {
> -    case ARM_CPU_MODE_USR:
> -    case ARM_CPU_MODE_SYS:
> -        return BANK_USRSYS;
> -    case ARM_CPU_MODE_SVC:
> -        return BANK_SVC;
> -    case ARM_CPU_MODE_ABT:
> -        return BANK_ABT;
> -    case ARM_CPU_MODE_UND:
> -        return BANK_UND;
> -    case ARM_CPU_MODE_IRQ:
> -        return BANK_IRQ;
> -    case ARM_CPU_MODE_FIQ:
> -        return BANK_FIQ;
> -    case ARM_CPU_MODE_HYP:
> -        return BANK_HYP;
> -    case ARM_CPU_MODE_MON:
> -        return BANK_MON;
> -    }
> -    g_assert_not_reached();
> -}
> -
>  void switch_mode(CPUARMState *env, int mode)
>  {
>      int old_mode;
> diff --git a/target-arm/internals.h b/target-arm/internals.h
> index 70bec4a..2e70272 100644
> --- a/target-arm/internals.h
> +++ b/target-arm/internals.h
> @@ -109,7 +109,31 @@ static inline unsigned int aarch64_banked_spsr_index(unsigned int el)
>      return map[el];
>  }
>  
> -int bank_number(int mode);
> +/* Map CPU modes onto saved register banks.  */
> +static inline int bank_number(int mode)
> +{
> +    switch (mode) {
> +    case ARM_CPU_MODE_USR:
> +    case ARM_CPU_MODE_SYS:
> +        return BANK_USRSYS;
> +    case ARM_CPU_MODE_SVC:
> +        return BANK_SVC;
> +    case ARM_CPU_MODE_ABT:
> +        return BANK_ABT;
> +    case ARM_CPU_MODE_UND:
> +        return BANK_UND;
> +    case ARM_CPU_MODE_IRQ:
> +        return BANK_IRQ;
> +    case ARM_CPU_MODE_FIQ:
> +        return BANK_FIQ;
> +    case ARM_CPU_MODE_HYP:
> +        return BANK_HYP;
> +    case ARM_CPU_MODE_MON:
> +        return BANK_MON;
> +    }
> +    g_assert_not_reached();
> +}
> +
>  void switch_mode(CPUARMState *, int);
>  void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu);
>  void arm_translate_init(void);
diff mbox

Patch

diff --git a/target-arm/helper.c b/target-arm/helper.c
index c46e3d0..a420a2a 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -5378,31 +5378,6 @@  void aarch64_sync_64_to_32(CPUARMState *env)
 
 #else
 
-/* Map CPU modes onto saved register banks.  */
-int bank_number(int mode)
-{
-    switch (mode) {
-    case ARM_CPU_MODE_USR:
-    case ARM_CPU_MODE_SYS:
-        return BANK_USRSYS;
-    case ARM_CPU_MODE_SVC:
-        return BANK_SVC;
-    case ARM_CPU_MODE_ABT:
-        return BANK_ABT;
-    case ARM_CPU_MODE_UND:
-        return BANK_UND;
-    case ARM_CPU_MODE_IRQ:
-        return BANK_IRQ;
-    case ARM_CPU_MODE_FIQ:
-        return BANK_FIQ;
-    case ARM_CPU_MODE_HYP:
-        return BANK_HYP;
-    case ARM_CPU_MODE_MON:
-        return BANK_MON;
-    }
-    g_assert_not_reached();
-}
-
 void switch_mode(CPUARMState *env, int mode)
 {
     int old_mode;
diff --git a/target-arm/internals.h b/target-arm/internals.h
index 70bec4a..2e70272 100644
--- a/target-arm/internals.h
+++ b/target-arm/internals.h
@@ -109,7 +109,31 @@  static inline unsigned int aarch64_banked_spsr_index(unsigned int el)
     return map[el];
 }
 
-int bank_number(int mode);
+/* Map CPU modes onto saved register banks.  */
+static inline int bank_number(int mode)
+{
+    switch (mode) {
+    case ARM_CPU_MODE_USR:
+    case ARM_CPU_MODE_SYS:
+        return BANK_USRSYS;
+    case ARM_CPU_MODE_SVC:
+        return BANK_SVC;
+    case ARM_CPU_MODE_ABT:
+        return BANK_ABT;
+    case ARM_CPU_MODE_UND:
+        return BANK_UND;
+    case ARM_CPU_MODE_IRQ:
+        return BANK_IRQ;
+    case ARM_CPU_MODE_FIQ:
+        return BANK_FIQ;
+    case ARM_CPU_MODE_HYP:
+        return BANK_HYP;
+    case ARM_CPU_MODE_MON:
+        return BANK_MON;
+    }
+    g_assert_not_reached();
+}
+
 void switch_mode(CPUARMState *, int);
 void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu);
 void arm_translate_init(void);