qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 09/11] target-arm: move arm_*_code to a sepa


From: Andreas Färber
Subject: Re: [Qemu-devel] [RFC PATCH 09/11] target-arm: move arm_*_code to a separate file
Date: Tue, 13 May 2014 09:03:31 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0

Am 08.05.2014 18:09, schrieb Paolo Bonzini:
> These will soon require cpu_ldst.h, so move them out of cpu.h.
> 
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
>  target-arm/arm_ldst.h      | 47 
> ++++++++++++++++++++++++++++++++++++++++++++++
>  target-arm/cpu.h           | 22 ----------------------
>  target-arm/helper.c        |  1 +
>  target-arm/translate-a64.c |  1 +
>  target-arm/translate.c     |  1 +
>  5 files changed, 50 insertions(+), 22 deletions(-)
>  create mode 100644 target-arm/arm_ldst.h
> 
> diff --git a/target-arm/arm_ldst.h b/target-arm/arm_ldst.h
> new file mode 100644
> index 0000000..42260ac
> --- /dev/null
> +++ b/target-arm/arm_ldst.h
> @@ -0,0 +1,47 @@
> +/*
> + * ARM load/store instructions for code (armeb-user support)
> + *
> + *  Copyright (c) 2012 CodeSourcery, LLC
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, see 
> <http://www.gnu.org/licenses/>.
> + */
> +
> +#ifndef ARM_LDST_H
> +#define ARM_LDST_H
> +
> +#include "qemu/bswap.h"
> +
> +/* Load an instruction and return it in the standard little-endian order */
> +static inline uint32_t arm_ldl_code(CPUARMState *env, target_ulong addr,
> +                                    bool do_swap)
> +{
> +    uint32_t insn = cpu_ldl_code(env, addr);
> +    if (do_swap) {
> +        return bswap32(insn);
> +    }
> +    return insn;
> +}
> +
> +/* Ditto, for a halfword (Thumb) instruction */
> +static inline uint16_t arm_lduw_code(CPUARMState *env, target_ulong addr,
> +                                     bool do_swap)
> +{
> +    uint16_t insn = cpu_lduw_code(env, addr);
> +    if (do_swap) {
> +        return bswap16(insn);
> +    }
> +    return insn;
> +}
> +
> +#endif
[snip]

Reviewed-by: Andreas Färber <address@hidden>

I notice that these user-only functions/macros are taking CPUARMState
but never use it today. Should I convert them to CPUState once I tackle
linux-user, or can we just drop that unused argument?

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]