Handle rdtscp
[akaros.git] / user / parlib / include / riscv / arch.h
index aef6bb1..c40f6a6 100644 (file)
@@ -10,7 +10,7 @@
 static __inline void
 set_stack_pointer(void* sp)
 {
-       asm volatile ("move sp, %0" : : "r"(sp));
+       asm volatile ("move sp, %0" : : "r"(sp) : "memory");
 }
 
 static __inline void
@@ -27,6 +27,18 @@ read_tsc(void)
        return (uint64_t)cycles;
 }
 
+static __inline uint64_t
+read_tscp(void)
+{
+       return read_tsc();
+}
+
+static __inline uint64_t
+read_tsc_serialized(void)
+{
+       return read_tsc();
+}
+
 static __inline void
 cpu_relax(void)
 {