|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] arm: implement udelay()
# HG changeset patch
# User Tim Deegan <tim@xxxxxxx>
# Date 1331651452 0
# Node ID cc1225c9690c89fae4622dcaf0fc01ce89546a32
# Parent 5d20d2f6ffed0a49f030f04a8870f1926babbcbf
arm: implement udelay()
Signed-off-by: Tim Deegan <tim@xxxxxxx>
Committed-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
diff -r 5d20d2f6ffed -r cc1225c9690c xen/arch/arm/dummy.S
--- a/xen/arch/arm/dummy.S Fri Mar 09 16:54:24 2012 +0000
+++ b/xen/arch/arm/dummy.S Tue Mar 13 15:10:52 2012 +0000
@@ -62,5 +62,4 @@
DUMMY(hypercall_create_continuation);
DUMMY(send_timer_event);
DUMMY(share_xen_page_with_privileged_guests);
-DUMMY(__udelay);
DUMMY(wallclock_time);
diff -r 5d20d2f6ffed -r cc1225c9690c xen/arch/arm/time.c
--- a/xen/arch/arm/time.c Fri Mar 09 16:54:24 2012 +0000
+++ b/xen/arch/arm/time.c Tue Mar 13 15:10:52 2012 +0000
@@ -171,6 +171,16 @@
request_irq(30, timer_interrupt, 0, "phytimer", NULL);
}
+/* Wait a set number of microseconds */
+void udelay(unsigned long usecs)
+{
+ s_time_t deadline = get_s_time() + 1000 * (s_time_t) usecs;
+ while ( get_s_time() - deadline < 0 )
+ ;
+ dsb();
+ isb();
+}
+
/*
* Local variables:
* mode: C
diff -r 5d20d2f6ffed -r cc1225c9690c xen/include/asm-arm/delay.h
--- a/xen/include/asm-arm/delay.h Fri Mar 09 16:54:24 2012 +0000
+++ b/xen/include/asm-arm/delay.h Tue Mar 13 15:10:52 2012 +0000
@@ -1,8 +1,7 @@
#ifndef _ARM_DELAY_H
#define _ARM_DELAY_H
-extern void __udelay(unsigned long usecs);
-#define udelay(n) __udelay(n)
+extern void udelay(unsigned long usecs);
#endif /* defined(_ARM_DELAY_H) */
/*
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |