From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56132) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9Tqc-0000FN-IV for qemu-devel@nongnu.org; Wed, 14 Aug 2013 01:42:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9TqW-0006Tj-Ld for qemu-devel@nongnu.org; Wed, 14 Aug 2013 01:42:18 -0400 Received: from mail-la0-x235.google.com ([2a00:1450:4010:c03::235]:63670) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9TqW-0006Ta-El for qemu-devel@nongnu.org; Wed, 14 Aug 2013 01:42:12 -0400 Received: by mail-la0-f53.google.com with SMTP id el20so5482356lab.26 for ; Tue, 13 Aug 2013 22:42:11 -0700 (PDT) Date: Wed, 14 Aug 2013 07:42:05 +0200 From: "Edgar E. Iglesias" Message-ID: <20130814054205.GB14471@smtp.vpn> References: <1376065080-26661-1-git-send-email-peter.maydell@linaro.org> <1376065080-26661-2-git-send-email-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1376065080-26661-2-git-send-email-peter.maydell@linaro.org> Subject: Re: [Qemu-devel] [PATCH v2 1/4] target-arm: Allow raw_read() and raw_write() to handle 64 bit regs List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: patches@linaro.org, qemu-devel@nongnu.org, Andreas =?iso-8859-1?Q?F=E4rber?= On Fri, Aug 09, 2013 at 05:17:57PM +0100, Peter Maydell wrote: > Extend the raw_read() and raw_write() helper accessors so that > they can be used for 64 bit registers as well as 32 bit registers. > Reviewed-by: Edgar E. Iglesias > Signed-off-by: Peter Maydell > Tested-by: Laurent Desnogues > --- > target-arm/helper.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/target-arm/helper.c b/target-arm/helper.c > index 4968391..fc5f757 100644 > --- a/target-arm/helper.c > +++ b/target-arm/helper.c > @@ -67,14 +67,22 @@ static int vfp_gdb_set_reg(CPUARMState *env, uint8_t *buf, int reg) > static int raw_read(CPUARMState *env, const ARMCPRegInfo *ri, > uint64_t *value) > { > - *value = CPREG_FIELD32(env, ri); > + if (ri->type & ARM_CP_64BIT) { > + *value = CPREG_FIELD64(env, ri); > + } else { > + *value = CPREG_FIELD32(env, ri); > + } > return 0; > } > > static int raw_write(CPUARMState *env, const ARMCPRegInfo *ri, > uint64_t value) > { > - CPREG_FIELD32(env, ri) = value; > + if (ri->type & ARM_CP_64BIT) { > + CPREG_FIELD64(env, ri) = value; > + } else { > + CPREG_FIELD32(env, ri) = value; > + } > return 0; > } > > -- > 1.7.9.5 > >