[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tcg/arm: Use r6 as TCG_AREG0 to avoid clash wit
From: |
Peter Maydell |
Subject: |
Re: [Qemu-devel] [PATCH] tcg/arm: Use r6 as TCG_AREG0 to avoid clash with Thumb framepointer |
Date: |
Mon, 9 Jan 2012 11:24:08 +0000 |
Ping?
(either I forgot to cc you, Andrzej, or the mailing list manager helpfully
dropped you off the cc list again. Sorry.)
-- PMM
On 26 December 2011 00:02, Peter Maydell <address@hidden> wrote:
> On ARM, in Thumb mode r7 is used for the framepointer; this meant
> that we would fail to compile in debug mode because we were using r7
> for TCG_AREG0. Shift to r6 instead to avoid this clash.
> (Bug reported as LP:870990.)
>
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> I did an extremely rough-and-ready benchmark with using a highreg
> instead and it didn't seem to make any difference, so I've stuck
> with using a lowreg as we do at the moment.
>
> dyngen-exec.h | 2 +-
> tcg/arm/tcg-target.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/dyngen-exec.h b/dyngen-exec.h
> index 3544372..09be9ea 100644
> --- a/dyngen-exec.h
> +++ b/dyngen-exec.h
> @@ -31,7 +31,7 @@
> #elif defined(_ARCH_PPC)
> #define AREG0 "r27"
> #elif defined(__arm__)
> -#define AREG0 "r7"
> +#define AREG0 "r6"
> #elif defined(__hppa__)
> #define AREG0 "r17"
> #elif defined(__mips__)
> diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
> index 48586c3..0035b47 100644
> --- a/tcg/arm/tcg-target.h
> +++ b/tcg/arm/tcg-target.h
> @@ -78,7 +78,7 @@ typedef enum {
>
> enum {
> /* Note: must be synced with dyngen-exec.h */
> - TCG_AREG0 = TCG_REG_R7,
> + TCG_AREG0 = TCG_REG_R6,
> };
>
> static inline void flush_icache_range(unsigned long start, unsigned long
> stop)
> --
> 1.7.5.4
- Re: [Qemu-devel] [PATCH] tcg/arm: Use r6 as TCG_AREG0 to avoid clash with Thumb framepointer,
Peter Maydell <=