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

[Xen-changelog] [xen-unstable] [XEN][POWERPC] Fully inline udelay()



# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID e108c5ac16ac3483e88164ebe324e56fed2f75dd
# Parent  8cb0d0eea35568f776574e69800448b04447a0b9
[XEN][POWERPC] Fully inline udelay()

Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
---
 xen/arch/powerpc/delay.c        |   37 -------------------------------------
 xen/arch/powerpc/Makefile       |    1 -
 xen/include/asm-powerpc/delay.h |   17 +++++++++++++++--
 3 files changed, 15 insertions(+), 40 deletions(-)

diff -r 8cb0d0eea355 -r e108c5ac16ac xen/arch/powerpc/Makefile
--- a/xen/arch/powerpc/Makefile Thu Sep 21 07:36:17 2006 -0400
+++ b/xen/arch/powerpc/Makefile Thu Sep 21 07:37:00 2006 -0400
@@ -12,7 +12,6 @@ obj-y += dart.o
 obj-y += dart.o
 obj-y += dart_u3.o
 obj-y += dart_u4.o
-obj-y += delay.o
 obj-y += domctl.o
 obj-y += domain_build.o
 obj-y += domain.o
diff -r 8cb0d0eea355 -r e108c5ac16ac xen/include/asm-powerpc/delay.h
--- a/xen/include/asm-powerpc/delay.h   Thu Sep 21 07:36:17 2006 -0400
+++ b/xen/include/asm-powerpc/delay.h   Thu Sep 21 07:37:00 2006 -0400
@@ -13,16 +13,29 @@
  * along with this program; if not, write to the Free Software
  * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  *
- * Copyright (C) IBM Corp. 2005
+ * Copyright (C) IBM Corp. 2005, 2006
  *
  * Authors: Hollis Blanchard <hollisb@xxxxxxxxxx>
+ *          Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
  */
 
 #ifndef _ASM_DELAY_H_
 #define _ASM_DELAY_H_
 
+#include <asm/time.h>
+
 extern unsigned long ticks_per_usec; 
 #define __udelay udelay
-extern void udelay(unsigned long usecs);
+static inline void udelay(unsigned long usecs)
+{
+    unsigned long ticks = usecs * ticks_per_usec;
+    unsigned long s;
+    unsigned long e;
 
+    s = get_timebase();
+    do {
+        asm volatile("or 1,1,1"); /* also puts the thread to low priority */
+        e = get_timebase();
+    } while ((e-s) < ticks);
+}
 #endif
diff -r 8cb0d0eea355 -r e108c5ac16ac xen/arch/powerpc/delay.c
--- a/xen/arch/powerpc/delay.c  Thu Sep 21 07:36:17 2006 -0400
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
- * This program 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 of the License, or
- * (at your option) any later version.
- *
- * This program 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; if not, write to the Free Software
- * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- *
- * Copyright (C) IBM Corp. 2005
- *
- * Authors: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
- */
-
-#include <xen/config.h>
-#include <xen/delay.h>
-#include <xen/time.h>
-#include <asm/processor.h>
-
-void udelay(unsigned long usecs)
-{
-    ulong ticks = usecs * ticks_per_usec;
-    ulong s;
-    ulong e;
-
-    s = get_timebase();
-    do {
-        asm volatile("or 1,1,1"); /* also puts the thread to low priority */
-        e = get_timebase();
-    } while ((e-s) < ticks);
-}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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