Index: kernel/arch/amd64/include/cycle.h
===================================================================
--- kernel/arch/amd64/include/cycle.h	(revision 214ec25cbbfd86e547613a9d32809cef432e810d)
+++ kernel/arch/amd64/include/cycle.h	(revision 1d6c497244b6b4a696141801fb93857f268fe3d9)
@@ -36,5 +36,17 @@
 #define KERN_amd64_CYCLE_H_
 
-extern uint64_t get_cycle(void);
+static inline uint64_t get_cycle(void)
+{
+	uint32_t lower;
+	uint32_t upper;
+	
+	asm volatile (
+		"rdtsc\n"
+		: "=a" (lower),
+		  "=d" (upper)
+	);
+	
+	return ((uint64_t) lower) | (((uint64_t) upper) << 32);
+}
 
 #endif
Index: kernel/arch/amd64/src/asm_utils.S
===================================================================
--- kernel/arch/amd64/src/asm_utils.S	(revision 214ec25cbbfd86e547613a9d32809cef432e810d)
+++ kernel/arch/amd64/src/asm_utils.S	(revision 1d6c497244b6b4a696141801fb93857f268fe3d9)
@@ -58,5 +58,4 @@
 .global cpuid
 .global has_cpuid
-.global get_cycle
 .global read_efer_flag
 .global set_efer_flag
@@ -152,9 +151,4 @@
 	ret
 
-get_cycle:
-	xorq %rax,%rax
-	rdtsc
-	ret
-
 set_efer_flag:
 	movq $0xc0000080, %rcx
