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

Re: [Xen-devel] [PATCH 2/5] xen/arm: introduce __lshrdi3 and __aeabi_llsr



On Mon, 2012-08-06 at 15:12 +0100, Stefano Stabellini wrote:
> Taken from Linux.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

Any idea what lshrdi means?

Anyway, given that this is presumably required by code which gcc
generates and that it comes direct from Linux:

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

and pushed to my arm-for-4.3 branch.

> ---
>  xen/arch/arm/lib/Makefile  |    2 +-
>  xen/arch/arm/lib/lshrdi3.S |   54 
> ++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 55 insertions(+), 1 deletions(-)
>  create mode 100644 xen/arch/arm/lib/lshrdi3.S
> 
> diff --git a/xen/arch/arm/lib/Makefile b/xen/arch/arm/lib/Makefile
> index cbbed68..4cf41f4 100644
> --- a/xen/arch/arm/lib/Makefile
> +++ b/xen/arch/arm/lib/Makefile
> @@ -2,4 +2,4 @@ obj-y += memcpy.o memmove.o memset.o memzero.o
>  obj-y += findbit.o setbit.o
>  obj-y += setbit.o clearbit.o changebit.o
>  obj-y += testsetbit.o testclearbit.o testchangebit.o
> -obj-y += lib1funcs.o div64.o
> +obj-y += lib1funcs.o lshrdi3.o div64.o
> diff --git a/xen/arch/arm/lib/lshrdi3.S b/xen/arch/arm/lib/lshrdi3.S
> new file mode 100644
> index 0000000..3e8887e
> --- /dev/null
> +++ b/xen/arch/arm/lib/lshrdi3.S
> @@ -0,0 +1,54 @@
> +/* Copyright 1995, 1996, 1998, 1999, 2000, 2003, 2004, 2005
> +   Free Software Foundation, Inc.
> +
> +This file is free software; you can redistribute it and/or modify it
> +under the terms of the GNU General Public License as published by the
> +Free Software Foundation; either version 2, or (at your option) any
> +later version.
> +
> +In addition to the permissions in the GNU General Public License, the
> +Free Software Foundation gives you unlimited permission to link the
> +compiled version of this file into combinations with other programs,
> +and to distribute those combinations without any restriction coming
> +from the use of this file.  (The General Public License restrictions
> +do apply in other respects; for example, they cover modification of
> +the file, and distribution when not linked into a combine
> +executable.)
> +
> +This file 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
> +General Public License for more details.
> +
> +You should have received a copy of the GNU General Public License
> +along with this program; see the file COPYING.  If not, write to
> +the Free Software Foundation, 51 Franklin Street, Fifth Floor,
> +Boston, MA 02110-1301, USA.  */
> +
> +
> +#include <xen/config.h>
> +#include "assembler.h"
> +
> +#ifdef __ARMEB__
> +#define al r1
> +#define ah r0
> +#else
> +#define al r0
> +#define ah r1
> +#endif
> +
> +ENTRY(__lshrdi3)
> +ENTRY(__aeabi_llsr)
> +
> +     subs    r3, r2, #32
> +     rsb     ip, r2, #32
> +     movmi   al, al, lsr r2
> +     movpl   al, ah, lsr r3
> + ARM(        orrmi   al, al, ah, lsl ip      )
> + THUMB(      lslmi   r3, ah, ip              )
> + THUMB(      orrmi   al, al, r3              )
> +     mov     ah, ah, lsr r2
> +     mov     pc, lr
> +
> +ENDPROC(__lshrdi3)
> +ENDPROC(__aeabi_llsr)



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.