[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target-arm: Move bank_number() into internals.h
From: |
Sergey Fedorov |
Subject: |
Re: [Qemu-devel] [PATCH] target-arm: Move bank_number() into internals.h |
Date: |
Fri, 12 Feb 2016 20:24:49 +0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.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 <address@hidden>
Reviewed-by: Sergey Fedorov <address@hidden>
> ---
> 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);