# 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
|