parlib: Add a couple helpers
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 26 Sep 2017 19:40:43 +0000 (15:40 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 26 Sep 2017 19:46:22 +0000 (15:46 -0400)
Including to misc-compat.h.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tests/misc-compat.h
user/parlib/include/parlib/vcore.h

index fcb26c6..168d1fb 100644 (file)
@@ -18,6 +18,7 @@
 #endif
 
 #include <sys/param.h> /* MIN/MAX */
+#include <unistd.h>
 
 /* not quite, since akaros udelay is a busy wait */
 #define udelay(usec) usleep(usec)
@@ -52,8 +53,15 @@ static void uth_enable_notifs(void)
 {
 }
 
+static int get_pcoreid(void)
+{
+       return -1;
+}
+
 #define printd(args...) {}
 
+#define COUNT_OF(x) (sizeof((x))/sizeof((x)[0]))
+
 #ifdef __x86_64__
 
 #define mb() ({ asm volatile("mfence" ::: "memory"); })
index 242902e..e7a1753 100644 (file)
@@ -41,6 +41,7 @@ static inline uint64_t vcore_account_resume_nsec(uint32_t vcoreid);
 static inline uint64_t vcore_account_total_nsec(uint32_t vcoreid);
 static inline void cpu_relax_any(void);
 static inline bool __in_fake_parlib(void);
+static inline int get_pcoreid(void);
 
 void vcore_lib_init(void);
 void vcore_change_to_m(void);
@@ -211,6 +212,11 @@ static inline bool __in_fake_parlib(void)
        return (uintptr_t)&dummy > BRK_START;
 }
 
+static inline int get_pcoreid(void)
+{
+       return __procinfo.vcoremap[vcore_id()].pcoreid;
+}
+
 #ifndef __PIC__
 
 #define begin_safe_access_tls_vars()