xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: xen-devel@lists.xensource.com
Cc: Tim.Deegan@citrix.com, Ian.Campbell@citrix.com,
	stefano.stabellini@eu.citrix.com
Subject: [PATCH 2/5] xen/arm: introduce __lshrdi3 and __aeabi_llsr
Date: Mon, 6 Aug 2012 15:12:02 +0100	[thread overview]
Message-ID: <1344262325-26598-2-git-send-email-stefano.stabellini@eu.citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1208061447130.4645@kaball.uk.xensource.com>

Taken from Linux.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 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)
-- 
1.7.2.5

  parent reply	other threads:[~2012-08-06 14:12 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-06 14:11 [PATCH 0/5] ARM hypercall ABI: 64 bit ready Stefano Stabellini
2012-08-06 14:12 ` [PATCH 1/5] xen: improve changes to xen_add_to_physmap Stefano Stabellini
2012-08-06 14:24   ` Konrad Rzeszutek Wilk
2012-08-06 14:38     ` Stefano Stabellini
2012-08-06 15:32   ` Jan Beulich
2012-08-06 15:43     ` Stefano Stabellini
2012-08-06 15:54       ` Jan Beulich
2012-08-07 12:27         ` Stefano Stabellini
2012-08-07 12:40           ` Jean Guyader
2012-08-07 13:18             ` Jan Beulich
2012-08-07 17:07               ` Stefano Stabellini
2012-08-08  7:14                 ` Jan Beulich
2012-08-08  7:45                   ` Ian Campbell
2012-08-08  8:49                     ` Jan Beulich
2012-08-08  9:51                       ` Stefano Stabellini
2012-08-08 10:03                         ` Jean Guyader
2012-08-08 10:08                           ` Stefano Stabellini
2012-08-08 14:20                           ` David Vrabel
2012-08-08 19:33                             ` Jean Guyader
2012-08-07 13:02           ` Jan Beulich
2012-08-07 15:24             ` Ian Jackson
2012-08-07 15:37               ` Jan Beulich
2012-08-11  1:33   ` Mukesh Rathor
2012-08-13 10:43     ` Stefano Stabellini
2012-08-06 14:12 ` Stefano Stabellini [this message]
2012-08-09  9:16   ` [PATCH 2/5] xen/arm: introduce __lshrdi3 and __aeabi_llsr Ian Campbell
2012-08-09  9:43     ` Stefano Stabellini
2012-08-06 14:12 ` [PATCH 3/5] xen: few more xen_ulong_t substitutions Stefano Stabellini
2012-08-06 15:38   ` Jan Beulich
2012-08-07 12:08     ` Stefano Stabellini
2012-08-07 12:36       ` Ian Campbell
2012-08-07 13:13         ` Jan Beulich
2012-08-07 13:30           ` Ian Campbell
2012-08-07 12:54       ` Jan Beulich
2012-08-08  7:59         ` Ian Campbell
2012-08-08 12:12         ` Stefano Stabellini
2012-08-08 12:17           ` Ian Campbell
2012-08-08 14:07           ` Jan Beulich
2012-08-08 15:01             ` Stefano Stabellini
2012-08-08 15:12               ` Jan Beulich
2012-08-08 15:55                 ` Stefano Stabellini
2012-08-06 14:12 ` [PATCH 4/5] xen: introduce XEN_GUEST_HANDLE_PARAM Stefano Stabellini
2012-08-06 15:43   ` Jan Beulich
2012-08-06 15:47     ` Ian Campbell
2012-08-06 15:58       ` Jan Beulich
2012-08-06 16:02         ` Stefano Stabellini
2012-08-07  6:24           ` Jan Beulich
2012-08-07 12:35             ` Stefano Stabellini
2012-08-07 12:39               ` Ian Campbell
2012-08-07 13:08               ` Jan Beulich
2012-08-07 18:09                 ` Stefano Stabellini
2012-08-08  7:48                 ` Ian Campbell
2012-08-08  8:54                   ` Jan Beulich
2012-08-06 14:12 ` [PATCH 5/5] xen: replace XEN_GUEST_HANDLE with XEN_GUEST_HANDLE_PARAM when appropriate Stefano Stabellini
2012-08-06 14:39 ` [PATCH 0/5] ARM hypercall ABI: 64 bit ready David Vrabel
2012-08-06 14:44   ` Stefano Stabellini
2012-08-06 14:49     ` Stefano Stabellini
2012-08-06 14:59     ` David Vrabel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1344262325-26598-2-git-send-email-stefano.stabellini@eu.citrix.com \
    --to=stefano.stabellini@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Tim.Deegan@citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).