# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 94aa7e921ccd079035d62841ffca76aa804b0992
# Parent 18b3cbb04dc36d9bd6b760cc47901bce3a77fd48
[POWERPC][XEN] Make many of the timbase routine static inline
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
---
xen/arch/powerpc/time.c | 34 ----------------------------------
xen/include/asm-powerpc/time.h | 38 ++++++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 36 deletions(-)
diff -r 18b3cbb04dc3 -r 94aa7e921ccd xen/arch/powerpc/time.c
--- a/xen/arch/powerpc/time.c Fri Sep 01 12:37:29 2006 -0400
+++ b/xen/arch/powerpc/time.c Fri Sep 01 13:14:53 2006 -0400
@@ -34,40 +34,6 @@ unsigned long cpu_khz;
unsigned long cpu_khz;
unsigned int timebase_freq;
-u64 get_timebase(void)
-{
- u64 s;
-
-#ifdef __PPC64__
- s = mftb();
-#else
- do {
- unsigned up;
- unsigned lo;
- unsigned up2;
-
- up = mftbu();
- lo = mftbl();
- up2 = mftbu();
- } while (up1 != up2);
- s = ((ulong)up << 32) | lo;
-#endif
- return s;
-}
-
-static ulong ns_to_tb(ulong ns)
-{
- return (ns * timebase_freq) / 1000000000ULL;
-}
-
-static ulong tb_to_ns(ulong tb)
-{
- return tb * (1000000000ULL / timebase_freq);
-}
-
-/*
- * Return nanoseconds from time of boot
- */
s_time_t get_s_time(void)
{
return tb_to_ns(get_timebase());
diff -r 18b3cbb04dc3 -r 94aa7e921ccd xen/include/asm-powerpc/time.h
--- a/xen/include/asm-powerpc/time.h Fri Sep 01 12:37:29 2006 -0400
+++ b/xen/include/asm-powerpc/time.h Fri Sep 01 13:14:53 2006 -0400
@@ -13,15 +13,19 @@
* 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>
+ * Hollis Blanchard <jimix@xxxxxxxxxxxxxx>
*/
#ifndef _ASM_TIME_H_
#define _ASM_TIME_H_
#include <xen/types.h>
+#include <xen/time.h>
+#include <xen/percpu.h>
+#include <asm/processor.h>
extern unsigned int timebase_freq;
#define CLOCK_TICK_RATE timebase_freq
@@ -29,7 +33,26 @@ extern unsigned int timebase_freq;
#define watchdog_disable() ((void)0)
#define watchdog_enable() ((void)0)
-extern u64 get_timebase(void);
+static inline u64 get_timebase(void)
+{
+ u64 s;
+
+#ifdef __PPC64__
+ s = mftb();
+#else
+ do {
+ unsigned up;
+ unsigned lo;
+ unsigned up2;
+
+ up = mftbu();
+ lo = mftbl();
+ up2 = mftbu();
+ } while (up1 != up2);
+ s = ((ulong)up << 32) | lo;
+#endif
+ return s;
+}
typedef u64 cycles_t;
static inline cycles_t get_cycles(void)
@@ -39,4 +62,15 @@ static inline cycles_t get_cycles(void)
return c;
}
+#define __nano(s) ((s) * 1000000000ULL)
+
+static inline u64 ns_to_tb(u64 ns)
+{
+ return (ns * timebase_freq) / __nano(1);
+}
+
+static inline u64 tb_to_ns(u64 tb)
+{
+ return tb * (__nano(1) / timebase_freq);
+}
#endif
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|